diff options
author | Jo-Philipp Wich <jo@mein.io> | 2016-06-24 15:04:27 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2016-06-24 15:59:36 +0200 |
commit | cb7aa4b1fee688342950d02195b927962295514e (patch) | |
tree | dd0fc0e95f837109c01a822da5bb90875a6e7c5b /target/toolchain | |
parent | d4ede1c1189abff6f52887179878cb950a4e47a0 (diff) | |
download | master-31e0f0ae-cb7aa4b1fee688342950d02195b927962295514e.tar.gz master-31e0f0ae-cb7aa4b1fee688342950d02195b927962295514e.tar.bz2 master-31e0f0ae-cb7aa4b1fee688342950d02195b927962295514e.zip |
ebtables: fix segmentation fault due to uninitialized extension data
The ebtables code relies on the `-nostartfiles` linker argument to execute the
extension modules' `_init()` functions automatically which is not working
reliably across all supported targets and gcc versions.
Running an ebtables executable linked this way just crashes with a segmentation
fault at runtime on program startup, e.g. on ARM architectures.
In order to fix the issue ...
- remove the use of the -nostartfiles linker flag
- rename the init procedures to a generic name without implicit semantics
- explicitely annotate those init procedures as constructors
The patch has been taken from the Alpine Linux distribution at
http://git.alpinelinux.org/cgit/aports/tree/main/ebtables/fix-extension-init.patch
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'target/toolchain')
0 files changed, 0 insertions, 0 deletions