Skip to contentSkip to conversation

How to enable sighold and sigrelse in uClibc ?

Buildroot Stefan Fröberg 2 participants 4 messages Sep 27, 2012

lore
Share & tools
lore
#0 lore raw

Hello everyone

I need to enable sighold() and sigrelse() functions in uClibc (version 0.9.33 using NPTL)
and I have enabled the corresponding UCLIBC_SUSV4_LEGACY (Enable SuSv4 Legacy or obsolescent functions)
option in .config.

However, when trying to use those functions in application they are undeclared and
indeed, when checking from uClibc source directory libc/signal I see that they are not even compiled
(no sighold.o and sigrelse.o).

So what else is needed to make sighold.o and sigrelse.o ?

Best regards
Stefan

P.S:
Is there __fxstat64() function somewhere in uClibc ?

#1 lore raw

Hi Stefan,

2012/9/27 Stefan Fr?berg <[email protected]>:

Quoted 14 lines

Hello everyone

I need to enable sighold() and sigrelse() functions in uClibc (version 0.9.33 using NPTL)
and I have enabled the corresponding UCLIBC_SUSV4_LEGACY (Enable SuSv4 Legacy or obsolescent functions)
option in .config.

However, when trying to use those functions in application they are undeclared and
indeed, when checking from uClibc source directory libc/signal I see that they are not even compiled
(no sighold.o and sigrelse.o).

Quoted 7 lines

So what else is needed to make sighold.o and sigrelse.o ?

Best regards
Stefan

P.S:
Is there __fxstat64() function somewhere in uClibc ?

Whenever one changes the uclibc configuration, the whole toolchain should be rebuilt.

So, after running 'make uclibc-menuconfig', to rebuild everything, you should run: 'make clean all'.

Regards,

Signature · 1 line
Sam
#2 lore raw

Hi Sam

27.9.2012 19:01, Samuel Martin kirjoitti:

Quoted 22 lines

Hi Stefan,

2012/9/27 Stefan Fr?berg <[email protected]>:

Quoted 19 lines

Hello everyone

I need to enable sighold() and sigrelse() functions in uClibc (version 0.9.33 using NPTL)
and I have enabled the corresponding UCLIBC_SUSV4_LEGACY (Enable SuSv4 Legacy or obsolescent functions)
option in .config.

However, when trying to use those functions in application they are undeclared and
indeed, when checking from uClibc source directory libc/signal I see that they are not even compiled
(no sighold.o and sigrelse.o).

So what else is needed to make sighold.o and sigrelse.o ?

Best regards
Stefan

Quoted 7 lines
Quoted 2 lines

P.S:
Is there __fxstat64() function somewhere in uClibc ?

Whenever one changes the uclibc configuration, the whole toolchain should be rebuilt.

So, after running 'make uclibc-menuconfig', to rebuild everything, you should run: 'make clean all'.

Sure, I have done that several times.
But still those two functions are not compiled in.

There *must* be some configuration option that I have missed .... (scratching head)

Quoted 3 lines

Regards,

#3 lore raw
In reply to Stefan Fröberg

Ok, I finally found it.

Also "BSD obsolete signal functions" (UCLIBC_HAS_OBSOLETE_BSD_SIGNAL) under "Advanced Library Settings" must be enabled to make this work.

And looking into lipthread/nptl/sem_open.c I revealed that __fxstat64() is basically equivalent to fstat64() if Largefile support is enabled in uClibc and otherwise just fstat().

So I can hack that into my application or maybe directly into sys/stat.h

Case solved :)

27.9.2012 18:52, Stefan Fr?berg kirjoitti:

Quoted 25 lines

Hello everyone

I need to enable sighold() and sigrelse() functions in uClibc (version 0.9.33 using NPTL)
and I have enabled the corresponding UCLIBC_SUSV4_LEGACY (Enable SuSv4 Legacy or obsolescent functions)
option in .config.

However, when trying to use those functions in application they are undeclared and
indeed, when checking from uClibc source directory libc/signal I see that they are not even compiled
(no sighold.o and sigrelse.o).

So what else is needed to make sighold.o and sigrelse.o ?

Best regards
Stefan

P.S:
Is there __fxstat64() function somewhere in uClibc ?
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot