| Summary: | crash in _longjmp_unwind (siglongjmp) | ||
|---|---|---|---|
| Product: | uClibc | Reporter: | busybox-bugzilla |
| Component: | Other | Assignee: | Bernhard Reutner-Fischer <aldot> |
| Status: | NEW --- | ||
| Severity: | normal | CC: | uclibc-cvs |
| Priority: | P5 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
|
Description
busybox-bugzilla
2011-06-25 09:30:21 UTC
there are a myriad of other checks (exit crashes the same way by a direct call to 0x0). maybe the recently-applied patch for uClibc_main is wrong, too - GCC should not optimize away weak function checks. maybe there is a problem with declaring weak functions, so gcc thinks the symbols are not weak and thus assumes they are always nonzero? seems compiling with -fPIC causes gcc to optimise all checks for weak symbols out as true - I have etsted with 4.2, 4,4, 4.5 and 4.6. Seems this is a manifestation of http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32219 and thus, possibly a gcc bug that is still in 4.6. That would mena that the patch already in uclibc that uses the asm workaround might also be not needed (or ALL such uses need it). right - setting DOPIC to n in uclibc config fixes all segfault issues observed (during perl-configure alone, there were alone 17 segfaults and the resulting miniperl crashe don exit). This also means that applying the patch in bug#1033 is "wrong", it indeed only fixes one occurance, and gcc should normally have special casing for weak symbols (which works on amd64, and on x86 with !pic). Apparently I never sent a patch with an updated comment. Thanks for the reminder. |