• Markos Chandras's avatar
    MIPS: Boot: Compressed: Remove -fstack-protector from CFLAGS · 23df3415
    Markos Chandras authored
    When building with -fstack-protector, gcc emits the __stack_chk_guard and
    __stack_chk_fail symbols to check for stack stability. These symbols are
    defined in vmlinux but the generated vmlinux.bin that is used to create
    the compressed vmlinuz image has no symbol table so the linker can't find
    these symbols during the final linking phase.  As a result of which, we
    need either to redefine these symbols just for the compressed image or drop
    the -fstack-protector option when building the compressed image. This patch
    implements the latter of two options.
    
    Fixes the following linking problem:
    
    dbg.c:(.text+0x7c): undefined reference to `__stack_chk_guard'
    dbg.c:(.text+0x80): undefined reference to `__stack_chk_guard'
    dbg.c:(.text+0xd4): undefined reference to `__stack_chk_guard'
    dbg.c:(.text+0xec): undefined reference to `__stack_chk_fail'
    
    [ralf@linux-mips.org: I'm applying this before the patch that actually adds
    stack protector support for MIPS.  This means, it will not be possible
    to trigger above error message with any commit from the tree but rather
    they are what one would hit without this commit.]
    Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: Markos Chandras <markos.chandras@imgtec.com>
    Patchwork: https://patchwork.linux-mips.org/patch/5575/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    23df3415
Makefile 3.32 KB