Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 282017 - sys-apps/gawk-3.1.7 doesn't use external libsigsegv, fails to build on IRIX
Summary: sys-apps/gawk-3.1.7 doesn't use external libsigsegv, fails to build on IRIX
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All IRIX
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-19 12:54 UTC by Stuart Shelton
Modified: 2010-08-12 05:38 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Failing 'conftest.c' from configure (conftest.c,3.11 KB, text/plain)
2009-08-19 12:58 UTC, Stuart Shelton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Shelton 2009-08-19 12:54:53 UTC
On IRIX, libsigsegv compiles, tests, and installs correctly on IRIX.

However, when gawk-3.1.7 is built with USE="libsigsegv" (which is an RDEPEND of the gawk ebuild) the gawk build process tries to rebuild an internal libsigsegv rather than using the external library.

Despite libsigsegv-2.6 building cleanly, however the version bundled with gawk (which appears to be 2.7) gets as far as:

...
Optional Platform Environment:
...
checking whether a signal handler can be left through siglongjmp and setcontext...

... and then never gets any further.
Comment 1 Stuart Shelton 2009-08-19 12:58:22 UTC
Created attachment 201708 [details]
Failing 'conftest.c' from configure


This code gets stuck in an infinite loop:

$ /usr/sbin/par -sSSld -a 128 ./conftest
    0mS[  1]                (101387016): was sent signal SIGUSR1 by pid 101343478
    0mS[  1]             par(101387016): received signal SIGUSR1 (handler 0x10002ac8)
    0mS[  1]             par(101387016): END-pause() errno = 4 (Interrupted function call)
    0mS[  1]             par(101387016): sigreturn(0x7ffb7a90)
    0mS[  1]             par(101387016): END-sigreturn() OK
    0mS[  1]        conftest(101387016): execve("./conftest", 0x7ffb7f04, 0x7ffb7f0c)
    2mS[  1]        conftest(101387016): END-execve() OK
    3mS[  1]        conftest(101387016): sysconf(_SC_CAP)
    3mS[  1]        conftest(101387016): END-sysconf() = 1
    3mS[  1]        conftest(101387016): syssgi(SGI_PROC_ATTR_GET, 0xfb3daf0, 0x7ffb7e80, 0, 0, 0)
    3mS[  1]        conftest(101387016): END-syssgi() = 0
    3mS[  1]        conftest(101387016): getuid()
    3mS[  1]        conftest(101387016): END-getuid() = 250, euid=250
    3mS[  1]        conftest(101387016): getuid() = 250, euid=250
    3mS[  1]        conftest(101387016): getgid()
    3mS[  1]        conftest(101387016): END-getgid() = 250 egid=250
    3mS[  1]        conftest(101387016): getgid() = 250 egid=250
    3mS[  1]        conftest(101387016): open("/lib32/rld", O_RDONLY, 04)
    3mS[  1]        conftest(101387016): END-open() = 3
    3mS[  1]        conftest(101387016): read(3, 0x7ffb7ca0, 512)
    3mS[  1]        conftest(101387016): END-read(3, <7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00>..., 512) = 512
    3mS[  1]        conftest(101387016): elfmap(3, 0x7ffb7d14, 2)
    3mS[  1]        conftest(101387016): END-elfmap() = 0xfb60000
    3mS[  1]        conftest(101387016): close(3)
    3mS[  1]        conftest(101387016): END-close() OK
    3mS[  1]        conftest(101387016): getpagesize()
    3mS[  1]        conftest(101387016): END-getpagesize() = 16384
    3mS[  1]        conftest(101387016): syssgi(0x5c, 0, 0x7ffb7ec0, 0xfbd61dc, 0, 0)
    3mS[  1]        conftest(101387016): END-syssgi() = 0
    3mS[  1]        conftest(101387016): syssgi(0x5c, 0, 0xfbd7ff0, 0, 0x65727200, 0xfbd7853)
    3mS[  1]        conftest(101387016): END-syssgi() = 0
    3mS[  1]        conftest(101387016): open("/dev/zero", O_RDONLY, 01757300000)
    3mS[  1]        conftest(101387016): END-open() = 3
    3mS[  1]        conftest(101387016): mmap(0xfbd8000, 32768, PROT_WRITE|PROT_READ, MAP_PRIVATE, 3, 0)
    3mS[  1]        conftest(101387016): END-mmap() = 0xfbd8000
    3mS[  1]        conftest(101387016): close(3)
    3mS[  1]        conftest(101387016): END-close() OK
    3mS[  1]        conftest(101387016): sysinfo(_MIPS_SI_PROCESSORS, 0x7ffb7d60, 257)
    3mS[  1]        conftest(101387016): END-sysinfo() = 23
    3mS[  1]        conftest(101387016): open("/opt/gentoo/usr/lib32/libc.so.1", O_RDONLY, 05)
    3mS[  1]        conftest(101387016): END-open() errno = 2 (No such file or directory)
    3mS[  1]        conftest(101387016): open("/opt/gentoo/lib32/libc.so.1", O_RDONLY, 05)
    3mS[  1]        conftest(101387016): END-open() errno = 2 (No such file or directory)
    3mS[  1]        conftest(101387016): open("/opt/gentoo/usr/lib32/nspr/libc.so.1", O_RDONLY, 05)
    4mS[  1]        conftest(101387016): END-open() errno = 2 (No such file or directory)
    4mS[  1]        conftest(101387016): open("/usr/opt/gentoo/usr/lib32/binutils/mips-sgi-irix6.5/2.19.51.0.14/libc.so.1", O_RDONLY, 05)
    4mS[  1]        conftest(101387016): END-open() errno = 2 (No such file or directory)
    4mS[  1]        conftest(101387016): syssgi(SGI_TOSSTSAVE)
    4mS[  1]        conftest(101387016): END-syssgi() OK
    4mS[  1]        conftest(101387016): setrlimit(RLIMIT_STACK, 0x7ffb3ea0)
    4mS[  1]        conftest(101387016): END-setrlimit() OK
    4mS[  1]        conftest(101387016): sigaltstack(0x7ffb3eb0, 0)
    4mS[  1]        conftest(101387016): END-sigaltstack() = 0
    4mS[  1]        conftest(101387016): sigaction(SIGSEGV, {flags=SA_ONSTACK handler=0x10000e80 mask=[<none>]}, 0)
    4mS[  1]        conftest(101387016): END-sigaction() OK
    4mS[  1]        conftest(101387016): sigaction(SIGBUS, {flags=SA_ONSTACK handler=0x10000e80 mask=[<none>]}, 0)
    4mS[  1]        conftest(101387016): END-sigaction() OK
    4mS[  1]        conftest(101387016): getcontext(0x100040d0)
    4mS[  1]        conftest(101387016): END-getcontext() = 0
    7mS[  1]        conftest(101387016): received signal SIGSEGV (handler 0x10000e80)
    7mS[  1]        conftest(101387016): getcontext(0x100044d8)
    7mS[  1]        conftest(101387016): END-getcontext() = 0
    7mS[  1]        conftest(101387016): setcontext(0x100044d8)
    8mS[  1]        conftest(101387016): END-setcontext() = 0
    8mS[  1]        conftest(101387016): setcontext(0x100040d0)
    8mS[  1]        conftest(101387016): END-setcontext() = 0
    8mS[  1]        conftest(101387016): received signal SIGSEGV (handler 0x10000e80)
    8mS[  1]        conftest(101387016): getcontext(0x100044d8)
    8mS[  1]        conftest(101387016): END-getcontext() = 0
    8mS[  1]        conftest(101387016): setcontext(0x100044d8)
    8mS[  1]        conftest(101387016): END-setcontext() = 0
    8mS[  1]        conftest(101387016): setcontext(0x100040d0)
    8mS[  1]        conftest(101387016): END-setcontext() = 0
    8mS[  1]        conftest(101387016): received signal SIGSEGV (handler 0x10000e80)
    8mS[  1]        conftest(101387016): getcontext(0x100044d8)
    8mS[  1]        conftest(101387016): END-getcontext() = 0
    8mS[  1]        conftest(101387016): setcontext(0x100044d8)
    8mS[  1]        conftest(101387016): END-setcontext() = 0
    8mS[  1]        conftest(101387016): setcontext(0x100040d0)
    8mS[  1]        conftest(101387016): END-setcontext() = 0

... etc
Comment 2 SpanKY gentoo-dev 2010-08-12 05:38:00 UTC
  25 Apr 2010; Diego E. Pettenò <flameeyes@gentoo.org> gawk-3.1.7.ebuild:
  Remove libsigsegv USE flag: the dependency, at a minimum, was off (it
  never uses system copy); nothing in the tree require this enabled, the
  bundled copy does not work properly with gcc-4.5, and upstream is clueless
  about autotools so it's impossible to properly patch this to make it
  right.