[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fails to build with GCC from Debian Sid/unstable: `/usr/bin/ld: -r and -
From: |
Paul Menzel |
Subject: |
Fails to build with GCC from Debian Sid/unstable: `/usr/bin/ld: -r and -pie may not be used together` |
Date: |
Sat, 26 Nov 2016 17:48:05 +0100 |
Dear GRUB folks,
Using Debian Sid/unstable with GCC 6.2, which has PIE enabled by
default *in Debian* since some time [1], building GRUB for the platform
*coreboot* fails.
```
$ gcc --version
gcc (Debian 6.2.1-5) 6.2.1 20161124
[…]
$ ld --version
GNU ld (GNU Binutils for Debian) 2.27.51.20161124
[…]
$ git log --oneline | head -1
0d23457 efi: Move fdt helper into own file
$ ./autogen.sh
[…]
$ mkdir build
$ cd build
$ ../configure --with-platform=coreboot
[…]
$ make -j
[…]
gcc -DHAVE_CONFIG_H -I. -I../../grub-core -I.. -Wall -W
-DGRUB_MACHINE_COREBOOT=1 -DGRUB_MACHINE=I386_COREBOOT -m32 -nostdinc -isystem
/usr/lib/gcc/i686-linux-gnu/6/include -I../../include -I../include
-DGRUB_FILE=\"bus/usb/serial/common.c\" -I. -I../../grub-core -I.. -I../..
-I../../include -I../include -I../../grub-core/lib/libgcrypt-grub/src/
-D_FILE_OFFSET_BITS=64 -Os -Wall -W -Wshadow -Wpointer-arith -Wundef
-Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization
-Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k
-Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain
-Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses
-Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs
-Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter
-Wunused-value -Wunused-variable -Wwrite-strings -Wnested-externs
-Wstrict-prototypes -g -Wredundant-decls -Wmissing-prototypes
-Wmissing-declarations -Wextra -Wattributes -Wendif-labels -Winit-self
-Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull
-Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros
-Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs
-Wmissing-prototypes -Wmissing-declarations -Wformat=2 -march=i386 -m32 -mrtd
-mregparm=3 -falign-jumps=1 -falign-loops=1 -falign-functions=1
-freg-struct-return -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow
-msoft-float -fno-dwarf2-cfi-asm -mno-stack-arg-probe
-fno-asynchronous-unwind-tables -fno-unwind-tables -Qn -fno-PIE -fno-pie
-fno-stack-protector -Wtrampolines -Werror -ffreestanding -MT
bus/usb/serial/usbserial_common_module-common.o -MD -MP -MF
bus/usb/serial/.deps-core/usbserial_common_module-common.Tpo -c -o
bus/usb/serial/usbserial_common_module-common.o `test -f
'bus/usb/serial/common.c' || echo '../../grub-core/'`bus/usb/serial/common.c
/usr/bin/ld: -r and -pie may not be used together
collect2: error: ld returned 1 exit status
Makefile:27010: die Regel für Ziel „trig.module“ scheiterte
make[3]: *** [trig.module] Fehler 1
make[3]: *** Es wird auf noch nicht beendete Prozesse gewartet...
[…]
```
Should PIE be disabled explicitly?
Thanks,
Paul
[1] https://bugs.debian.org/835148
signature.asc
Description: This is a digitally signed message part
- Fails to build with GCC from Debian Sid/unstable: `/usr/bin/ld: -r and -pie may not be used together`,
Paul Menzel <=