1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

299 Commits

Author SHA1 Message Date
René Kijewski
3063e3c2b1 Fix all warnings for native and qemu-i386
Missing returns, unused variables (only used for debugging), empty
translation units, missing function prototypes, and GNU extensions.
2014-06-24 16:50:32 +02:00
René Kijewski
2ae0c1b149 make: use abspath for better error messages 2014-06-23 15:50:10 +02:00
René Kijewski
a9a76cb2c2 make: create dependencies as side effect 2014-06-23 15:50:10 +02:00
Ludwig Ortmann
741d9beeb0 Merge pull request #1332 from Kijewski/native-fix-warnings-in-default
native: remove some warnings about undef functions
2014-06-19 17:28:16 +02:00
Martine Lenders
6d1365c5d8 Merge pull request #1324 from Kijewski/make-automatic-module-name
make: much less clutter for "standard layout" modules
2014-06-18 23:52:49 +02:00
René Kijewski
2f871ca885 native: remove some warnings about undef functions
This PR implements `real_X` for `X in (fork, dup2, unlink, execve)`.
These function caused warnings while making the default example.
2014-06-18 20:34:12 +02:00
René Kijewski
467b41ad49 make: easifier usage of module subdirectories
Many modules have subdirectories. Often these subdirectories should only
be included under certain circumstances. Modules that use submodules
currently need to use this pattern:

```make
DIRS = …

all: $(BINDIR)$(MODULE).a
   @for i in $(DIRS) ; do $(MAKE) -C $$i ; done ;

include $(RIOTBASE)/Makefile.base

clean::
   @for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ;
```

This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
2014-06-17 15:49:32 +02:00
René Kijewski
840c0f0a57 make: detect their module name automatically
For many modules the `Makefile` contains a line like
```
MODULE:=$(shell basename $(CURDIR))
```
This conclusively shows that we do not have to set the module name
manually.

This PR removes the need to set the module name manually, if it is the
same as the basename. E.g. for `…/sys/vtimer/Makefile` the variable
make `MODULE` will still be `vtimer`, because it is the basename of the
Makefile.
2014-06-17 15:49:32 +02:00
René Kijewski
2e9a1773e9 native: use real_pipe() and read_close() 2014-06-14 00:39:02 +02:00
Ludwig Ortmann
dbc36fc2c5 native: add id option 2014-06-06 16:30:54 +02:00
Ludwig Ortmann
1e5e19bc23 native: set optional path with unix socket option
fixes #1045
2014-06-03 16:46:40 +02:00
Ludwig Ortmann
e36590cda7 native: fix coding style 2014-06-03 16:46:40 +02:00
Oleg Hahm
ef4fe6616c documentation: unified descriptive text for cpu 2014-05-24 15:56:57 +02:00
Ludwig Ortmann
c9f68e79b9 native: set _native_pid correctly in daemon mode
This fixes a bug that leads to all unix sockets being created as
`/tmp/riot.tty.0`.
2014-05-20 08:53:26 +02:00
Oleg Hahm
ef5ec344fd core: prefix API functions correctly
Also changed names for bitarithm functions and rename thread_pid to sched_active_pid.
2014-05-18 08:53:20 +02:00
Ludwig Ortmann
cbf39bf012 native: add missing include
crash.c was missing native_internal.h
2014-05-16 17:24:45 +02:00
Ludwig Ortmann
98bbb80571 documentation: append my email to my name everywhere 2014-05-15 18:07:17 +02:00
Ludwig Ortmann
3a3c04e66e native/tramp.S: add missing license header 2014-05-15 18:07:17 +02:00
Ludwig Ortmann
b43fa2327e native/tramp.S: use ret instead of manual return 2014-05-15 11:38:24 +02:00
Ludwig Ortmann
e0a1217f20 native: refactor one debug/errx use in irq_cpu.c 2014-05-15 11:37:18 +02:00
Thomas Eichinger
7a031e5669 net: handle macro redefinitions for OS X
undefine macros and reorder header includes to get rid of system
defined macros on OS X

fixes #1165
2014-05-14 19:43:58 +02:00
René Kijewski
d98ebf62cd native: fixup #1145: function declaration 2014-05-14 16:54:34 +02:00
René Kijewski
8038e96d09 Merge pull request #1119 from Kijewski/error_old-style-definition
Exterminate old-style function definitions
2014-05-14 13:31:30 +02:00
Ludwig Ortmann
166b88f1ae native: internal getpid syscall 2014-05-14 09:13:57 +02:00
Ludwig Ortmann
4c961bfb6e native: refactor getpid calls 2014-05-14 09:13:57 +02:00
Ludwig Ortmann
27eb2aedc1 native: update README
Move README to to README.md
Fix spelling and markup
2014-05-13 11:25:34 +02:00
René Kijewski
628419eb11 Exterminate old-style function declaration/prototypes 2014-05-12 21:57:09 +02:00
René Kijewski
9a9caf2c68 Exterminate old-style function definitions 2014-05-12 21:57:09 +02:00
Jan S
e7cf6bf745 removed unreachable code 2014-05-09 23:45:07 +02:00
Jan S
350e34f924 typo fix 2014-05-09 23:38:38 +02:00
René Kijewski
6f3d0871aa core/cpu: put __builtin_unreachable() into one place 2014-05-07 19:24:55 +02:00
Hauke Petersen
7545eff784 core/cpu/board: moved F_CPU define to board 2014-05-06 10:36:09 +02:00
René Kijewski
4c66f72ba3 Merge pull request #1022 from LudwigOrtmann/issue_505
native: update support for FreeBSD
2014-04-26 15:51:54 +02:00
Ludwig Ortmann
c2b9d94a0c native: add tapsetup-freebsd.sh 2014-04-20 07:31:40 +02:00
Ludwig Ortmann
42aa3d9f5b native: update support for FreeBSD
works with FreeBSD 10.0 amd64/i386

fixes: #505
2014-04-20 07:31:40 +02:00
Ludwig Ortmann
6044dc28dc native: add help option
Closes: #840
2014-04-19 12:44:11 +02:00
René Kijewski
542a2e5d9d Merge pull request #995 from Kijewski/issue-993
Make: exterminate 'clean' buildtarget clutter
2014-04-18 16:11:15 +02:00
900db3436a native: optionally exit() after last thread has ended
Used when compiled with NATIVE_AUTO_EXIT defined.
2014-04-12 15:47:01 +02:00
René Kijewski
300d6b3e35 Make: exterminate 'clean' buildtarget
Closes #993.

We do not need to descend into the modules to know what to do on
`make clean BOARD=blub`. We can just invoke `rm -rf bin/blub`.

This PR only keeps the descending into the USEPKGs, since they might
want to delete cached/downloaded/extracted data.
2014-04-09 23:07:52 +02:00
Ludwig Ortmann
9f24ae2e62 Merge pull request #946 from Kijewski/native-write
native: don't use RIOT read/write in UART
2014-04-09 18:17:09 +02:00
Ludwig Ortmann
b9ffc1a99e fixup for #710: use subfolder in bin dirs (native)
Update native Makefiles to provide changed object target paths
Fixes #989
2014-04-09 15:25:05 +02:00
Oleg Hahm
aeb54158f6 cpu: satisfy compiler in crash.c 2014-04-09 12:27:53 +02:00
Oleg Hahm
1e9a43d0f8 Merge pull request #778 from LudwigOrtmann/dependency_files
Make: Prepend path to dependency info files with sed
2014-04-08 23:22:21 +02:00
René Kijewski
2749531324 Merge pull request #789 from LudwigOrtmann/native_gprof
native profiling tools support
2014-04-05 02:26:15 +02:00
Ludwig Ortmann
91814e52ae make: replace MAKEBASE with RIOTBASE
closes https://github.com/RIOT-OS/RIOT/issues/959
2014-04-01 16:40:28 +02:00
Ludwig Ortmann
b2930113ef remove some newlines 2014-04-01 10:47:12 +02:00
Ludwig Ortmann
a1aa0df9ae change new/overlooked Makefiles 2014-04-01 10:44:10 +02:00
Ludwig Ortmann
1bd3f7bb86 pipe through sed instead
addresses: https://github.com/RIOT-OS/RIOT/pull/778#discussion_r10041955
2014-04-01 10:44:10 +02:00
René Kijewski
0b75a11291 native: don't use RIOT read/write in UART 2014-03-30 22:33:50 +02:00
Hauke Petersen
8a937e1a1c hwtimer: clean up of interfaces to board/cpu 2014-03-26 13:19:18 +01:00
Ludwig Ortmann
0501fe8980 native: config_load: set PID as id, net address 2014-03-18 08:07:30 +01:00
Oleg Hahm
3c54edf4d6 Merge pull request #822 from LudwigOrtmann/reboot_signature
core: change reboot signature.
2014-03-16 18:42:23 +01:00
Ludwig Ortmann
8ef02d3b9d native profiling support
only works with Linux for now
2014-03-14 12:50:50 +01:00
Ludwig Ortmann
9b61d95545 make: don't ignore failures in for loops
Add `|| exit 1` to all constructs like `@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;`, so that compilation stops on the first error.
2014-03-12 11:09:04 +01:00
Ludwig Ortmann
063a15ce9b Change reboot signature.
Change from `void reboot(void)` to `int reboot(int mode)`.
Move reboot definition to core, rename architecture implementations
from reboot to reboot_arch.
Declare reboot mode(s) in kernel.h, reboot_arch in kernel_internal.h
Currently only one reboot mode is handled, its use is enforced.

Rationale:
A reboot function is already defined in <unistd.h> on BSD systems.
(See: http://www.openbsd.org/cgi-bin/man.cgi?query=reboot&sektion=2)
This patch not only allows native to build sensibly on these systems
but also streamlines RIOTs compatability with existing software.
2014-03-10 11:14:27 +01:00
Martin Lenders
49b1f44b2e Merge pull request #804 from LudwigOrtmann/native_include_separation
native/make: Don't use INCLUDES for building any native at all.
2014-03-03 15:12:56 +01:00
Ludwig Ortmann
2cd3f04fc6 Don't use INCLUDES for building any native at all.
native modules will never need the dynamic INCLUDES, so we define our
own NATIVEINCLUDES. Due to the current make structure, the only way to
not use INCLUDES is to redefine the build rules.
2014-02-27 10:30:30 +01:00
Ludwig Ortmann
470bd7f17f Fixup for #685
- use DEVELHELP for native as well
- fix function name in documentation
- improve documentation language/spelling
2014-02-26 21:49:54 +01:00
Oleg Hahm
0c14597ec2 Merge pull request #685 from rousselk/panic
Panic
2014-02-26 16:26:27 +01:00
Oleg Hahm
07b0cd8863 added gettimeofday syscall
RIOT's gettimeofday needs to be called from syscalls.c to assure that gcc actually links it.

If an RTC if available and enabled it will be used instead.
2014-02-25 17:41:45 +01:00
Kévin Roussel
03fe9de135 Implemented crash-handling mechanism for 'native' platform 2014-02-25 10:50:51 +01:00
Christian Mehlis
261d414649 native: removed unreachable code 2014-02-25 09:02:39 +01:00
Ludwig Ortmann
86812c2abb make calloc "usable" early on
closes #741

Old versions of the gnu libc uses calloc to allocate dymanic memory
when some error occurs in dlsym.
This results in a segfault as natives calloc wrapper has not been
initialized yet.
As this is a circular dependency and the libc can cope with this, we
just return NULL from the calloc wrapper and hope for the best.

Recent libc versions use a static buffer instead.
2014-02-22 13:08:45 +01:00
Christian Mehlis
0309fecc19 fix warning: invalid suffix on literal
C++11 requires a space between
literal and identifier [-Wliteral-suffix]
2014-02-18 17:05:01 +01:00
Oleg Hahm
b42496475a Merge pull request #724 from rousselk/reboot
Reboot
2014-02-18 13:33:49 +01:00
Christian Mehlis
6578669e46 Merge pull request #718 from Kijewski/issue-693
"Exterminate `} else {`"
2014-02-18 12:42:54 +01:00
Christian Mehlis
cb9c5d00de repace project by application in documentation 2014-02-18 12:28:32 +01:00
Kévin Roussel
dc6f920f33 Merge remote-tracking branch 'origin/reboot' into reboot 2014-02-17 12:00:19 +01:00
René Kijewski
2349d0806e "Exterminate } else {" 2014-02-16 23:29:47 +01:00
Ludwig Ortmann
561eefab07 implement rudimentary native reboot 2014-02-14 16:20:36 +01:00
René Kijewski
102dc45382 Eliminate findstring in more places 2014-02-14 14:30:16 +01:00
Christian Mehlis
d794900386 Merge pull request #666 from LudwigOrtmann/native_valgrind_config
Native valgrind config
2014-02-12 11:01:34 +01:00
Ludwig Ortmann
114aaa65e5 Merge pull request #626 from LudwigOrtmann/issue_621
add EUI-64 support for nativenet
2014-02-11 19:30:23 +01:00
Ludwig Ortmann
336c5159b2 use pkg-config to add valgrind include path
makes knowledge of VALGRIND_VALGRIND_H vs. VALGRIND_H optional
2014-02-11 19:22:39 +01:00
Ludwig Ortmann
2525920426 remove trailing whitespace and newlines 2014-02-11 18:45:06 +01:00
Ludwig Ortmann
d5d3bbcd44 add EUI-64 support for nativenet 2014-02-10 08:33:57 +01:00
Martin
6a29d18324 changed assignment to const char* 2014-02-10 08:29:22 +01:00
Martin
174a75102b changed clonedev assignment according to const string 2014-02-10 08:21:32 +01:00
Oleg Hahm
62046d6ea0 Merge pull request #649 from BytesGalore/fix_missing_typecasts
Fix added missing typecasts to stack (arm/msba2) and send/receive buffer (native)
2014-02-07 12:25:08 +01:00
Martin
f19ec9649f added typecast for starck_start in native 2014-02-07 09:14:58 +01:00
Ludwig Ortmann
5681fcc481 native readme update 2014-02-04 18:41:38 +01:00
Ludwig Ortmann
f04eaa3d20 update native readme 2014-02-01 12:10:08 +01:00
Ludwig Ortmann
fd083c95a6 check for active_thread != NULL in syscalls.c before using it
fixes #498
2014-01-31 09:31:22 +01:00
Ludwig Ortmann
f0340b90a2 guard pre-err() warn() calls 2014-01-29 19:13:49 +01:00
Ludwig Ortmann
176f379c7a dont err() but warn() if no thread exists in native_isr_entry 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
796b656e31 force-debug (eINT && in_isr) in DEVELHELP 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
6f5d4dcdb4 block all signals per default 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
bdd4252961 guard setitimer 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
0766b92f7b Don't unblock signals again.
A late signal could kill the process otherwise.
2014-01-29 18:44:42 +01:00
Ludwig Ortmann
2c80f68d62 handle more errors and remove race condition in native_isr_entry 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
a55e85f8d0 guard swapcontext in _native_syscall_leave 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
7f1db86ae2 handle some should-be impossible paths 2014-01-29 18:44:41 +01:00
Ludwig Ortmann
573b154f44 handle select errors EAGAIN | EWOULDBLOCK in lpm 2014-01-29 18:44:18 +01:00
Ludwig Ortmann
3c087107f2 fix call to err() 2014-01-29 16:54:36 +01:00
Ludwig Ortmann
f04c3dc433 Merge pull request #559 from LudwigOrtmann/native_syscall_guards
Native syscall guards
2014-01-24 09:36:26 -08:00
Ludwig Ortmann
d8745e2861 add local debug macro
addresses https://github.com/RIOT-OS/RIOT/pull/559#issuecomment-33241773
2014-01-24 18:26:44 +01:00
Ludwig Ortmann
b22380990f fix DEBUG in syscalls 2014-01-24 17:30:47 +01:00
Ludwig Ortmann
4939473afb guard malloc/free family 2014-01-24 17:30:47 +01:00
Ludwig Ortmann
7685357990 Merge pull request #547 from LudwigOrtmann/native_hwtimer_fix
Native hwtimer fix
2014-01-24 08:10:42 -08:00
Ludwig Ortmann
7148f1db23 change wording
addresses https://github.com/RIOT-OS/RIOT/pull/555#discussion_r9118361
2014-01-23 17:25:41 +01:00