toolchain/uClibc: enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 17 Apr 2016 12:49:30 +0000 (12:49 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 17 Apr 2016 12:49:30 +0000 (12:49 +0000)
commitb60108242b39cef382ac8e84749401bfad8e95bb
treed2d24007d3b8a33493456344185ad81ff79b3161
parente087aede01fa852eb485b98aa4b95abbade5b2b6
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>
SVN-Revision: 49178
toolchain/uClibc/config/common