Author: hauke
Date: 2016-04-17 14:49:30 +0200 (Sun, 17 Apr 2016)
New Revision: 49178
Modified:
trunk/toolchain/uClibc/config/common
Log:
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 <[email protected]>
Signed-off-by: Hauke Mehrtens <[email protected]>
Modified: trunk/toolchain/uClibc/config/common
===================================================================
--- trunk/toolchain/uClibc/config/common 2016-04-17 11:05:54 UTC (rev
49177)
+++ trunk/toolchain/uClibc/config/common 2016-04-17 12:49:30 UTC (rev
49178)
@@ -144,7 +144,7 @@
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
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits