Blame SOURCES/gdb-runtest-pie-override.patch

2c2fa1
make check//unix/-fPIE/-pie RUNTESTFLAGS=solib-display.exp
2c2fa1
2c2fa1
gcc -fpic -c  -fPIE -pie -o x.o x.c
2c2fa1
/usr/lib/gcc/x86_64-redhat-linux/4.6.1/../../../../lib64/Scrt1.o: In function `_start':
2c2fa1
(.text+0x20): undefined reference to `main'
2c2fa1
2c2fa1
=> Change the order for overrides.
2c2fa1
2c2fa1
One has to also use -fPIC rather than -fPIE, -fPIC is stronger.
2c2fa1
2c2fa1
The correct way would be:
2c2fa1
make check//unix RUNTESTFLAGS='CC_FOR_TARGET=gcc\ -fPIC\ -pie CXX_FOR_TARGET=g++\ -fPIC\ -pie solib-display.exp'
2c2fa1
2c2fa1
But there is a problem with testsuite.unix non-unique subdir name and also
2c2fa1
a problem with make -j parallelization of the testsuite.
2c2fa1
2c2fa1
--- gdb-7.3.50.20110722/gdb/testsuite/lib/future.exp	2011-10-11 16:44:05.000000000 +0200
2c2fa1
+++ gdb-7.3.50.20110722/gdb/testsuite/lib/future.exp	2011-10-11 16:44:10.000000000 +0200
2c2fa1
@@ -77,6 +77,10 @@ proc gdb_default_target_compile {source
2c2fa1
     set ldflags ""
2c2fa1
     set dest [target_info name]
2c2fa1
 
2c2fa1
+    if {[board_info $dest exists multilib_flags]} {
2c2fa1
+	append add_flags " [board_info $dest multilib_flags]"
2c2fa1
+    }
2c2fa1
+
2c2fa1
     if {[info exists CFLAGS_FOR_TARGET]} {
2c2fa1
 	append add_flags " $CFLAGS_FOR_TARGET"
2c2fa1
     }
2c2fa1
@@ -333,10 +337,6 @@ proc gdb_default_target_compile {source
2c2fa1
 	}
2c2fa1
     }
2c2fa1
 
2c2fa1
-    if {[board_info $dest exists multilib_flags]} {
2c2fa1
-	append add_flags " [board_info $dest multilib_flags]"
2c2fa1
-    }
2c2fa1
-
2c2fa1
     verbose "doing compile"
2c2fa1
 
2c2fa1
     set sources ""