[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[committed] Fix dw2-restrict.S compilation for make check CC="gcc -fPIE -pie"



Hi,

When running tests with make check CC="gcc -fPIE -pie" (or similarly,
install package gcc-PIE on openSUSE), we run into:
...
gcc -fPIE -pie dw2-restrict.S -o dw2-restrict || touch dw2-restrict
ld: /tmp/xxx.o: relocation R_X86_64_32S against `.rodata.str1.1' can not be \
  used when making a PIE object; recompile with -fPIC
ld: final link failed: nonrepresentable section on output
collect2: error: ld returned 1 exit status
...

Fix this by adding -no-pie to the dw2-restrict.S compilation.

Committed to trunk.

Thanks,
- Tom

Fix dw2-restrict.S compilation for make check CC="gcc -fPIE -pie"

2019-06-28  Tom de Vries  <tdevries@suse.de>

	* Makefile (dw2-restrict): Add -no-pie.

---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 1193283..9b02cc1 100644
--- a/Makefile
+++ b/Makefile
@@ -30,7 +30,7 @@ hello:
 	$(CC) $(TEST_SRC)/hello.c -o $@ -g
 
 dw2-restrict:
-	$(CC) $(TEST_SRC)/dw2-restrict.S -o $@ || touch $@
+	$(CC) -no-pie $(TEST_SRC)/dw2-restrict.S -o $@ || touch $@
 
 dw2-skip-prologue:
 	$(CC) $(TEST_SRC)/dw2-skip-prologue.S $(TEST_SRC)/dw2-skip-prologue.c \