diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-06-26 13:43:32 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-06-26 13:43:32 +0000 |
commit | 90c3c302a9106d87793af0c02b7626e1df8db157 (patch) | |
tree | 42475b6f39c85b2b1ad062bdba00d0614f99b818 /nuttx/examples/nxflat/tests/signal/signal.c | |
parent | ed56837c5f266ade308f4306ffeb81a0d5eb05e0 (diff) | |
download | px4-nuttx-90c3c302a9106d87793af0c02b7626e1df8db157.tar.gz px4-nuttx-90c3c302a9106d87793af0c02b7626e1df8db157.tar.bz2 px4-nuttx-90c3c302a9106d87793af0c02b7626e1df8db157.zip |
function pointers in modules must have global scope
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1960 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/examples/nxflat/tests/signal/signal.c')
-rw-r--r-- | nuttx/examples/nxflat/tests/signal/signal.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/nuttx/examples/nxflat/tests/signal/signal.c b/nuttx/examples/nxflat/tests/signal/signal.c index ff845ec10..ff1c58305 100644 --- a/nuttx/examples/nxflat/tests/signal/signal.c +++ b/nuttx/examples/nxflat/tests/signal/signal.c @@ -69,7 +69,12 @@ static int sigusr2_rcvd = 0; * Name: sigusr1_sighandler ****************************************************************************/ -static void sigusr1_sighandler(int signo) +/* NOTE: it is necessary for functions that are referred to by function pointers + * pointer to be declared with global scope (at least for ARM). Otherwise, + * a relocation type that is not supported by NXFLAT is generated by GCC. + */ + +void sigusr1_sighandler(int signo) { printf("sigusr1_sighandler: Received SIGUSR1, signo=%d\n", signo); sigusr1_rcvd = 1; @@ -79,8 +84,13 @@ static void sigusr1_sighandler(int signo) * Name: sigusr2_sigaction ***************************************************************************/ +/* NOTE: it is necessary for functions that are referred to by function pointers + * pointer to be declared with global scope (at least for ARM). Otherwise, + * a relocation type that is not supported by NXFLAT is generated by GCC. + */ + #ifdef __USE_POSIX199309 -static void sigusr2_sigaction(int signo, siginfo_t *siginfo, void *arg) +void sigusr2_sigaction(int signo, siginfo_t *siginfo, void *arg) { printf("sigusr2_sigaction: Received SIGUSR2, signo=%d siginfo=%p arg=%p\n", signo, siginfo, arg); @@ -107,7 +117,7 @@ static void sigusr2_sigaction(int signo, siginfo_t *siginfo, void *arg) sigusr2_rcvd = 1; } #else -static void sigusr2_sigaction(int signo) +void sigusr2_sigaction(int signo) { printf("sigusr2_sigaction: Received SIGUSR2, signo=%d\n", signo); sigusr2_rcvd = 1; |