configure.ac: correct stack protector check #99
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a used toolchain accepts the
-fstack-protector
option but does notprovide a stack smashing protector implementation (ex. libssp), linking
will fail:
.libs/rpmio.o: In function
Fdescr': rpmio.c:(.text+0x672): undefined reference to
__stack_chk_fail_local'.libs/rpmio.o: In function
Fdopen': rpmio.c:(.text+0xce9): undefined reference to
__stack_chk_fail_local'.libs/rpmio.o: In function
ufdCopy': rpmio.c:(.text+0x10f7): undefined reference to
__stack_chk_fail_local'...
This is a result of testing for
-fstack-protector
support using a mainthat GCC does not inject guards. GCC's manual notes that stack protector
code is only added when "[functions] that call alloca, and functions
with buffers larger than 8 bytes" 1. This commit adjusts the stack
protector check to allocate memory on the stack (via
alloca
).Signed-off-by: James Knight james.knight@rockwellcollins.com