Summary: | =dev-libs/libffi-3.1[abi_x86_32]: /usr/lib32/libffi.so.6 built with execstacks | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Samuli Suominen (RETIRED) <ssuominen> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | hardened |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | https://sourceware.org/ml/libffi-discuss/2014/msg00058.html | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Samuli Suominen (RETIRED)
2014-05-27 17:19:40 UTC
If you take a look at the main level Makefile.am, you find that if X86 nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S src/x86/win32.S endif so win32.S is compiled and linked in. But win32.S doesn't have #if defined __ELF__ && defined __linux__ .section .note.GNU-stack,"",@progbits #endif If you add it, the problem is solved. (In reply to Anthony Basile from comment #1) > If you take a look at the main level Makefile.am, you find that > > if X86 > nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/sysv.S src/x86/win32.S > endif > > so win32.S is compiled and linked in. But win32.S doesn't have > > #if defined __ELF__ && defined __linux__ > .section .note.GNU-stack,"",@progbits > #endif > > If you add it, the problem is solved. It fix the problem. The fix should go upstream. Fixed by libffi-3.1-r1 with libffi-3.1-execstack.patch: $ cat files/libffi-3.1-execstack.patch http://bugs.gentoo.org/511634 --- src/x86/win32.S +++ src/x86/win32.S @@ -1304,3 +1304,6 @@ #endif /* !_MSC_VER */ +#if defined __ELF__ && defined __linux__ + .section .note.GNU-stack,"",@progbits +#endif And reported to libffi-discuss@sourceware.org ML where patches go for upstream inclusion. |