diff options
author | Hauke Mehrtens <hauke@openwrt.org> | 2016-04-17 12:49:30 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@openwrt.org> | 2016-04-17 12:49:30 +0000 |
commit | de2a8355f2083a435b65c5bcd74f563bfa22fb6f (patch) | |
tree | d2d24007d3b8a33493456344185ad81ff79b3161 /toolchain/uClibc/config | |
parent | d100e7268dc869ede6c06ba0a4af0a1408dd96ae (diff) | |
download | master-187ad058-de2a8355f2083a435b65c5bcd74f563bfa22fb6f.tar.gz master-187ad058-de2a8355f2083a435b65c5bcd74f563bfa22fb6f.tar.bz2 master-187ad058-de2a8355f2083a435b65c5bcd74f563bfa22fb6f.zip |
toolchain/uClibc: enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
This is required to build net-snmp.
If that options is disabled in uClibc then net-snmp doesn't
detect sighold support on its configuration stage and so
defines HAVE_SIGHOLD as 0. That in its turn causes compilation of
the following branch of timerPause() in apps/snmpnetstat:
------------------>8----------------
int oldmask;
oldmask = sigblock(sigmask(SIGALRM));
if (!signalled) {
sigpause(0);
}
sigsetmask(oldmask);
------------------>8----------------
Now in uClibc all 3 sigblock(), sigmask() and sigsetmask()
were removed back in 2005, see:
https://git.busybox.net/uClibc/commit/?id=5aa7aa7fa7ec2a0fe567ac0b2595b46add6f3594
And all that causes net-snmp linkage to fail this way:
------------------>8----------------
.libs/if.o: In function `intpr':
if.c:(.text+0x908): undefined reference to `sigmask'
if.c:(.text+0x90e): undefined reference to `sigblock'
if.c:(.text+0x924): undefined reference to `sigsetmask'
------------------>8----------------
If we enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL in uClibc then
branch with sighold is used in timerPause() and everything builds as
expected.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@49178 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/uClibc/config')
-rw-r--r-- | toolchain/uClibc/config/common | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/toolchain/uClibc/config/common b/toolchain/uClibc/config/common index ec72701a22..b476639626 100644 --- a/toolchain/uClibc/config/common +++ b/toolchain/uClibc/config/common @@ -144,7 +144,7 @@ UCLIBC_HAS_LIBUTIL=y UCLIBC_HAS_LONG_DOUBLE_MATH=y UCLIBC_HAS_NETWORK_SUPPORT=y UCLIBC_HAS_NFTW=y -# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set +UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y # UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set UCLIBC_HAS_PRINTF_M_SPEC=y # UCLIBC_HAS_PROFILING is not set |