summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2013-12-08 23:59:16 (EST)
committer P. J. McDermott <pjm@nac.net>2013-12-08 23:59:16 (EST)
commit3a481d94d0cc2fc52fb1f34e6e3719fe82f5390c (patch)
treefe68c80017824bfa2bafa8e8ce35ecbb50fe8d36
parent4f273b08e57ac6dadd5c993d38eddde5f77f09d7 (diff)
Add patch to fix ld tests on BusyBox.
-rw-r--r--patches/03_ld-fix-tests-on-busybox-ash.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/patches/03_ld-fix-tests-on-busybox-ash.patch b/patches/03_ld-fix-tests-on-busybox-ash.patch
new file mode 100644
index 0000000..6b5cc4f
--- /dev/null
+++ b/patches/03_ld-fix-tests-on-busybox-ash.patch
@@ -0,0 +1,71 @@
+Author: "P. J. McDermott" <pjm@nac.net>
+Subject: ld: Fix tests on BusyBox ash
+
+BusyBox ash doesn't recognize the delimeter ("EOF") of a here-document
+unless it's followed by a newline character.
+
+So, running the test suite with /bin/sh linked to busybox results in the
+following errors with ld's tests (note the "EOF: not found" errors):
+
+ Test Run By root on Mon Dec 9 02:21:30 2013
+ Native configuration is x86_64-unknown-linux-gnu
+
+ === ld tests ===
+
+ Schedule of variations:
+ unix
+
+ Running target unix
+ Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
+ Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
+ Using /usr/src/binutils_2.23.2-1/tmp/src/ld/testsuite/config/default.exp as tool-and-target-specific interface file.
+ ERROR: tcl error sourcing tool-and-target-specific interface file /usr/src/binutils_2.23.2-1/tmp/src/ld/testsuite/config/default.exp.
+ Error getting native link files: -dynamic-linker /lib/core-linux-eglibc/ld-linux-x86-64.so.2 /usr/lib/core-linux-eglibc/crt1.o /usr/lib/core-linux-eglibc/crti.o /usr/lib/core-linux-eglibc/gcc-4.7/crtbegin.o
+ sh: eval: line 2: EOF: not found
+ Error getting native link files: -dynamic-linker /lib/core-linux-eglibc/ld-linux-x86-64.so.2 /usr/lib/core-linux-eglibc/crt1.o /usr/lib/core-linux-eglibc/crti.o /usr/lib/core-linux-eglibc/gcc-4.7/crtbegin.o
+ sh: eval: line 2: EOF: not found
+ while executing
+ "error "Error getting native link files: $result" "
+ invoked from within
+ "if $status { error "Error getting native link files: $result" }"
+ invoked from within
+ "if ![info exists $varname] {
+ #configure.host returns variables that can be substituted into
+ #makefile rules, with embedded shell variable expansions..."
+ (procedure "get_link_files" line 6)
+ invoked from within
+ "get_link_files $x"
+ ("foreach" body line 2)
+ invoked from within
+ "foreach x {HOSTING_CRT0 HOSTING_LIBS} {
+ get_link_files $x
+ }"
+ invoked from within
+ "if [isnative] {
+ foreach x {HOSTING_CRT0 HOSTING_LIBS} {
+ get_link_files $x
+ }
+ } else {
+ foreach x {HOSTING_CRT0 HOSTING_LIBS} { set $x "" }
+ ..."
+ (file "/usr/src/binutils_2.23.2-1/tmp/src/ld/testsuite/config/default.exp" line 141)
+ invoked from within
+ "source /usr/src/binutils_2.23.2-1/tmp/src/ld/testsuite/config/default.exp"
+ ("uplevel" body line 1)
+ invoked from within
+ "uplevel #0 source /usr/src/binutils_2.23.2-1/tmp/src/ld/testsuite/config/default.exp"
+ invoked from within
+ "catch "uplevel #0 source ${dir}/${initfile}" error"
+
+diff -Naur src.orig/ld/testsuite/config/default.exp src/ld/testsuite/config/default.exp
+--- src.orig/ld/testsuite/config/default.exp 2012-03-14 21:57:57.000000000 -0400
++++ src/ld/testsuite/config/default.exp 2013-12-08 23:32:51.502069716 -0500
+@@ -119,7 +119,7 @@
+ #configure.host returns variables that can be substituted into
+ #makefile rules, with embedded shell variable expansions.
+ #make wants $$shell_var, we want $shell_var ...
+- set cmd "host='$target_triplet' && . $srcdir/../configure.host && sed -e 's,\\\$\\\$,\$,g' <<EOF\n\$$varname\nEOF"
++ set cmd "host='$target_triplet' && . $srcdir/../configure.host && sed -e 's,\\\$\\\$,\$,g' <<EOF\n\$$varname\nEOF\n"
+ set status [catch "exec sh -c [list $cmd]" result]
+ if $status { error "Error getting native link files: $result" }
+ set cmd "CC='$CC' && eval echo \"$result\""