This should fix the following error when compiling posix-spawn ruby gem:
In file included from posix-spawn.c:9:0:
/usr/include/spawn.h:80:34: error: expected ';', ',' or ')' before 'pid'
int posix_spawn(pid_t * restrict pid, const char * restrict path,
^
/usr/include/spawn.h:248:10: error: expected ';', ',' or ')' before 'file_actions'
file_actions, int fd,
^
Normally for 'performance', nptl uses the _Unwind_ForcedUnwind() function,
which is provided by GCC. However, this function depends on libunwind tracking
all register state, which neither libunwind itself (which we do not want as a
core dependency) or GCC's libunwind support register state on some newer x86
CPUs fully.
Thusly, we turn off the unwind-using code and return to using the traditional
cleanup functions.
The debug messages were being parsed by tools which invoked ldd to discover shared
library dependencies, such as gobject-introspection. This caused gobject-introspection
to be broken on x86_64 due to the presence of the debug messages.
This should fix issue with sdl[1] and apps that does lots of dlopen/dlclose calls
with complicated deps.
[1] see commit be91866229a76e73f1ecdbdbfec83b8e69cb6e69
Avoid that libgcc always are pulled in by libc0.9.32. For compat
reasons we also introduce a subpackage called libc. This way we
don't break all packages depending on libc0.9.32
Might be a gcc bug, but the generated assembly code was broke.
ebp was supposed to be set to zero but it was not.
We work around it by allowing use of immedate values as the 6th syscall
arg. Then gcc don't need to use a memory reference.
<tteras> old kernels have only eventfd()
<tteras> they noticed uh oh, we need add a new parameter
<tteras> so there's eventfd2() syscall
<tteras> when it was added to glibc
<tteras> eventfd2 was already there
<tteras> so the glibc call got name eventfd() even though it had signature of syscall eventfd2()
<ncopa> so they picked eventfd()
<tteras> yeah
<ncopa> doh
Requires 2.6.27+ kernel. The old eventfd() syscall, is not really usable
and emulation is not feasible.
We keep track of our patches in git now:
http://git.alpinelinux.org/cgit/uClibc-alpine
This is so its easier to keep track of upstream and make sure that
our patches are upstreamed.
we also bump pkgrel so we make sure we get the patches tested properly
We should really fix the broken apps instead as suggested by upstream
This also fixes issue with c++ apps linking in librt when they shouldn't.
gcc needs to be rebuilt with a libstdc++ thats not linked to librt.
ref #854