OBS User unknown 2007-10-09 02:28:58 +00:00 committed by Git OBS Bridge
commit 9209b74914
54 changed files with 52257 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,11 @@
IMPORTANT: Please change binutils.spec and then run ./pre_checkin.sh!
Do not change cross-*.spec directly!
The spec file triggers by it's %name if it compiles the native or the
cross version and pre_checkin.sh (called automatically by checkin too)
copies over the binutils.spec and changes the Name field, so you shouldn't
need to worry too much about the cross packages
Thanks,
Stephan Kulow

3
binutils-2.18.50.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1eb2afd4447eb861ffd930a37aac375ea014793216b69740908e641cea0e3f85
size 14653027

118
binutils-skip-rpaths.patch Normal file
View File

@ -0,0 +1,118 @@
--- ld/emultempl/elf32.em
+++ ld/emultempl/elf32.em
@@ -1377,15 +1377,46 @@ if test x"$LDEMUL_BEFORE_ALLOCATION" !=
else
ELF_INTERPRETER_SET_DEFAULT=
fi
+
+ libpath_nl=
+ for path in $NATIVE_LIB_DIRS; do
+ libpath_nl="$libpath_nl\n$path"
+ done
+
fragment <<EOF
+static int
+gld${EMULATION_NAME}_is_contained (const char *path, const char *dc)
+{
+ while (*dc)
+ {
+ const char *pc = path;
+
+ while (*dc && *pc && *dc == *pc && *dc != '\n'
+ && *pc != ':' && *dc != '=')
+ {
+ dc++;
+ pc++;
+ }
+ if ((*pc == 0 || *pc == ':') && (*dc == '\n' || *dc == '=' || *dc == 0))
+ return 1;
+
+ while (*dc && *dc != '\n')
+ dc++;
+ if (*dc == '\n')
+ dc++;
+ }
+
+ return 0;
+}
+
/* This is called after the sections have been attached to output
sections, but before any sizes or addresses have been set. */
static void
gld${EMULATION_NAME}_before_allocation (void)
{
- const char *rpath;
+ char *rpath;
asection *sinterp;
if (link_info.hash->type == bfd_link_elf_hash_table)
@@ -1400,7 +1431,66 @@ gld${EMULATION_NAME}_before_allocation (
by dynamic linking. */
rpath = command_line.rpath;
if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
+ rpath = getenv ("LD_RUN_PATH");
+
+ if (rpath != NULL && getenv ("SUSE_IGNORED_RPATHS"))
+ {
+ char *dirs = 0;
+ FILE *ldso = fopen (getenv ("SUSE_IGNORED_RPATHS"), "r");
+ if (ldso)
+ {
+ off_t endcur = 0;
+ fseek (ldso, 0, SEEK_END);
+ endcur = ftell (ldso);
+ fseek (ldso, 0, SEEK_SET);
+ dirs = xmalloc (endcur);
+ if (fread (dirs, 1, endcur, ldso) != (size_t) endcur)
+ {
+ free (dirs);
+ dirs = NULL;
+ }
+ }
+ if (dirs)
+ {
+ char *cr;
+ rpath = xstrdup (rpath);
+ cr = rpath; /* cursor read */
+
+ while (*cr)
+ {
+ if (gld${EMULATION_NAME}_is_contained (cr, dirs)
+ || gld${EMULATION_NAME}_is_contained (cr, "$libpath_nl"))
+ {
+ char *cc = cr, *cw = cr;
+ while (*cc && *cc != ':')
+ cc++;
+ if (*cc == ':')
+ {
+ cc++;
+ for (; *cc; cc++, cw++)
+ *cw = *cc;
+ }
+ else if (cw > rpath)
+ cw[-1] = 0;
+
+ *cw = 0;
+ }
+ else
+ {
+ while (*cr && *cr != ':')
+ cr++;
+ if (*cr == ':')
+ cr++;
+ }
+ }
+ if (*rpath == '\0')
+ {
+ free (rpath);
+ rpath = NULL;
+ }
+ }
+ }
+
if (! (bfd_elf_size_dynamic_sections
(output_bfd, command_line.soname, rpath,
command_line.filter_shlib,

1820
binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1282
binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-alpha-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-alpha-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-arm-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-arm-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-avr-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-avr-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

35
cross-avr-nesc-as.patch Normal file
View File

@ -0,0 +1,35 @@
--- gas/config/tc-avr-nesc.h
+++ gas/config/tc-avr-nesc.h
@@ -109,8 +109,12 @@
would print `12 34 56 78'. The default value is 4. */
#define LISTING_WORD_SIZE 2
-/* AVR port uses `$' as a logical line separator. */
-#define LEX_DOLLAR 0
+/* AVR port uses `$' as a logical line separator and doesn't
+ allow it in symbols. We allow it in the middle of symbols.
+ We also hack get_symbol_end to disallow it at the end of a symbol. */
+#define LEX_DOLLAR 1
+#define TC_EOL_IN_INSN(PTR) (*(PTR) == '$' && is_part_of_name((PTR)[-1]) && is_part_of_name((PTR)[1]))
+#define TC_FORBID_DOLLAR_AT_END
/* An `.lcomm' directive with no explicit alignment parameter will
use this macro to set P2VAR to the alignment that a request for
--- gas/expr.c
+++ gas/expr.c
@@ -2165,6 +2165,15 @@
;
if (is_name_ender (c))
c = *input_line_pointer++;
+#ifdef TC_FORBID_DOLLAR_AT_END
+ /* This is for the Atmel AVR platforms. We want to allow $ in symbols
+ but also as a line separator. Yucky. */
+ if (input_line_pointer[-2] == '$')
+ {
+ input_line_pointer--;
+ c = '$';
+ }
+#endif
}
*--input_line_pointer = 0;
return (c);

View File

@ -0,0 +1,18 @@
Index: bfd/elf32-avr.c
===================================================================
RCS file: /cvs/src/src/bfd/elf32-avr.c,v
retrieving revision 1.27
diff -c -3 -p -r1.27 elf32-avr.c
*** bfd/elf32-avr.c 28 Sep 2006 13:27:33 -0000 1.27
--- bfd/elf32-avr.c 19 Jan 2007 12:22:49 -0000
*************** elf32_avr_build_stubs (struct bfd_link_i
*** 2915,2920 ****
--- 2915,2922 ----
#define elf_backend_final_write_processing \
bfd_elf_avr_final_write_processing
#define elf_backend_object_p elf32_avr_object_p
+ #define elf_backend_omit_section_dynsym \
+ ((bfd_boolean (*) (bfd *, struct bfd_link_info *, asection *)) bfd_true)
#define bfd_elf32_bfd_relax_section elf32_avr_relax_section
#define bfd_elf32_bfd_get_relocated_section_contents \

1820
cross-hppa-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-hppa-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1211
cross-hppa64-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-i386-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-i386-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-ia64-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-ia64-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-mips-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-mips-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-ppc-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-ppc-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-ppc64-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-ppc64-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-s390-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-s390-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-s390x-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-s390x-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-sh4-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1210
cross-sh4-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-sparc-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-sparc-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

1820
cross-spu-binutils.changes Normal file

File diff suppressed because it is too large Load Diff

1211
cross-spu-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1211
cross-x86_64-binutils.spec Normal file

File diff suppressed because it is too large Load Diff

65
enable-targets.diff Normal file
View File

@ -0,0 +1,65 @@
--- ld/configure
+++ ld/configure
@@ -857,6 +857,7 @@
--enable-fast-install=PKGS optimize for fast installation default=yes
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-targets alternative target configurations
+ --enable-ld-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings
@@ -4172,6 +4173,19 @@
no) enable_targets= ;;
*) enable_targets=$enableval ;;
esac
+fi; # Check whether --enable-ld-targets or --disable-ld-targets was given.
+if test "${enable_ld_targets+set}" = set; then
+ enableval="$enable_ld_targets"
+ case "${enableval}" in
+ yes | "") { { echo "$as_me:$LINENO: error: enable-ld-targets option must specify target names or 'all'" >&5
+echo "$as_me: error: enable-ld-targets option must specify target names or 'all'" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ no) enable_ld_targets= ;;
+ *) enable_ld_targets=$enableval ;;
+esac
+else
+ enable_ld_targets=$enable_targets
fi; # Check whether --enable-64-bit-bfd or --disable-64-bit-bfd was given.
if test "${enable_64_bit_bfd+set}" = set; then
enableval="$enable_64_bit_bfd"
@@ -7430,7 +7444,7 @@
rm -f tdirs
-for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
+for targ_alias in `echo $target_alias $enable_ld_targets | sed 's/,/ /g'`
do
if test "$targ_alias" = "all"; then
all_targets=true
--- ld/configure.in
+++ ld/configure.in
@@ -22,6 +22,14 @@
no) enable_targets= ;;
*) enable_targets=$enableval ;;
esac])dnl
+AC_ARG_ENABLE(ld-targets,
+[ --enable-ld-targets alternative target configurations],
+[case "${enableval}" in
+ yes | "") AC_ERROR(enable-ld-targets option must specify target names or 'all')
+ ;;
+ no) enable_ld_targets= ;;
+ *) enable_ld_targets=$enableval ;;
+esac], [enable_ld_targets=$enable_targets])dnl
AC_ARG_ENABLE(64-bit-bfd,
[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
[case "${enableval}" in
@@ -152,7 +160,7 @@
dnl file.
rm -f tdirs
-for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
+for targ_alias in `echo $target_alias $enable_ld_targets | sed 's/,/ /g'`
do
if test "$targ_alias" = "all"; then
all_targets=true

21
ld-dtags.diff Normal file
View File

@ -0,0 +1,21 @@
--- binutils-2.17.50/ld/ld.texinfo
+++ binutils-2.17.50/ld/ld.texinfo
@@ -1941,7 +1941,7 @@
systems may not understand them. If you specify
@option{--enable-new-dtags}, the dynamic tags will be created as needed.
If you specify @option{--disable-new-dtags}, no new dynamic tags will be
-created. By default, the new dynamic tags are not created. Note that
+created. By default, the new dynamic tags are created. Note that
those options are only available for ELF systems.
@kindex --hash-size=@var{number}
--- binutils-2.17.50/ld/ldmain.c
+++ binutils-2.17.50/ld/ldmain.c
@@ -263,6 +263,7 @@
link_info.allow_undefined_version = TRUE;
link_info.keep_memory = TRUE;
+ link_info.new_dtags = TRUE;
link_info.combreloc = TRUE;
link_info.strip_discarded = TRUE;
link_info.callbacks = &link_callbacks;

57
ld-relro.diff Normal file
View File

@ -0,0 +1,57 @@
--- ld/lexsup.c
+++ ld/lexsup.c
@@ -643,6 +643,9 @@
}
}
+ optarg = "relro";
+ ldemul_handle_option ('z');
+
last_optind = -1;
while (1)
{
--- ld/testsuite/config/default.exp
+++ ld/testsuite/config/default.exp
@@ -20,7 +20,7 @@
#
if ![info exists ld] then {
- set ld [findfile $base_dir/ld-new $base_dir/ld-new [transform ld]]
+ set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro"
}
if ![info exists as] then {
@@ -67,7 +67,7 @@
catch "exec mkdir tmpdir/ld" status
catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
}
-set gcc_ld_flag "-B[pwd]/tmpdir/ld/"
+set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro"
# load the linker path
if {[file exists tmpdir/libpath.exp]} {
@@ -261,7 +261,7 @@
}
if ![info exists LD] then {
- set LD [findfile $base_dir/ld-new ./ld-new [transform ld]]
+ set LD "[findfile $base_dir/ld-new ./ld-new [transform ld]] -znorelro"
}
if ![info exists LDFLAGS] then {
--- ld/testsuite/ld-bootstrap/bootstrap.exp
+++ ld/testsuite/ld-bootstrap/bootstrap.exp
@@ -53,7 +53,12 @@
# This test can only be run if we have the ld build directory,
# since we need the object files.
- if {$ld != "$objdir/ld-new"} {
+ set ldexe $ld
+ set ldparm [string first " " $ld]
+ if { $ldparm > 0 } then {
+ set ldexe [string range $ld 0 $ldparm]
+ }
+ if {$ldexe != "$objdir/ld-new"} {
untested $testname
continue
}

4
mips-pic.patch Normal file
View File

@ -0,0 +1,4 @@
--- /dev/null 2002-05-17 19:01:52.000000000 +0000
+++ config/mh-mipspic 2002-05-17 19:08:03.000000000 +0000
@@ -0,0 +1 @@
+PICFLAG=-fPIC

15
pre_checkin.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
# the script takes binutils* and creates the cross-* packages
for arch in hppa hppa64 mips arm i386 x86_64 s390 s390x sh4 ppc ppc64 ia64 sparc avr alpha spu; do
echo -n "Building package for $arch --> cross-$arch-binutils ..."
ln -f binutils.changes cross-$arch-binutils.changes
sed -e "s/^Name:.*binutils\$/Name: cross-$arch-binutils/" \
-e '/ devel$/,/^$/d' \
< binutils.spec > cross-$arch-binutils.spec
echo " done."
done

0
ready Normal file
View File

21
s390-biarch.diff Normal file
View File

@ -0,0 +1,21 @@
--- ld/emulparams/elf_s390.sh
+++ ld/emulparams/elf_s390.sh
@@ -11,3 +11,18 @@
GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes
NO_SMALL_DATA=yes
+
+# Treat a host that matches the target with the possible exception of "x"
+# in the name as if it were native.
+if test `echo "$host" | sed -e s/x//` = `echo "$target" | sed -e s/x//`; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ NATIVE=yes
+ ;;
+ esac
+fi
+
+# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
+case "$EMULATION_NAME" in
+ *64*) LIBPATH_SUFFIX=64 ;;
+esac

152
s390-pic-dso.diff Normal file
View File

@ -0,0 +1,152 @@
--- bfd/elf32-s390.c
+++ bfd/elf32-s390.c
@@ -2543,13 +2543,30 @@
unresolved_reloc = FALSE;
break;
- case R_390_8:
- case R_390_16:
- case R_390_32:
case R_390_PC16:
case R_390_PC16DBL:
case R_390_PC32DBL:
case R_390_PC32:
+ /* This is strictly required only for PC32DLB, which
+ is not handled by ld.so, but let's be helpful to the user also
+ in the other cases. */
+ if (info->shared
+ && !SYMBOL_REFERENCES_LOCAL (info, h)
+ && (input_section->flags & SEC_ALLOC) != 0
+ && (input_section->flags & SEC_READONLY) != 0)
+ {
+ (*_bfd_error_handler)
+ (_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
+ input_bfd, elf_howto_table[r_type].name,
+ h->root.root.string);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ /* Fall through. */
+
+ case R_390_8:
+ case R_390_16:
+ case R_390_32:
if ((input_section->flags & SEC_ALLOC) == 0)
break;
--- bfd/elf64-s390.c
+++ bfd/elf64-s390.c
@@ -2520,15 +2520,32 @@
unresolved_reloc = FALSE;
break;
- case R_390_8:
- case R_390_16:
- case R_390_32:
- case R_390_64:
case R_390_PC16:
case R_390_PC16DBL:
case R_390_PC32:
case R_390_PC32DBL:
case R_390_PC64:
+ /* This is strictly required only for PC32DLB, which
+ is not handled by ld.so, but let's be helpful to the user also
+ in the other cases. */
+ if (info->shared
+ && !SYMBOL_REFERENCES_LOCAL (info, h)
+ && (input_section->flags & SEC_ALLOC) != 0
+ && (input_section->flags & SEC_READONLY) != 0)
+ {
+ (*_bfd_error_handler)
+ (_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
+ input_bfd, elf_howto_table[r_type].name,
+ h->root.root.string);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ /* Fall through. */
+
+ case R_390_8:
+ case R_390_16:
+ case R_390_32:
+ case R_390_64:
if ((input_section->flags & SEC_ALLOC) == 0)
break;
--- ld/testsuite/ld-elfvers/vers.exp
+++ ld/testsuite/ld-elfvers/vers.exp
@@ -94,6 +94,7 @@
case $target_triplet in {
{ ia64-*-* } { set as_options "-x" }
+ { s390-*-linux-* } { set as_options "-march=z900" }
default { set as_options "" }
}
@@ -764,8 +765,9 @@
pass $test
}
-if [istarget x86_64-*-linux*] {
- # x86_64 doesn't like non-pic shared libraries
+if { [istarget x86_64-*-linux*] \
+ || [istarget s390*-*-linux*] } {
+ # x86_64 and s390 doesn't like non-pic shared libraries
set pic "yes"
} else {
set pic "no"
--- ld/testsuite/ld-elfvsb/elfvsb.exp
+++ ld/testsuite/ld-elfvsb/elfvsb.exp
@@ -265,6 +265,7 @@
setup_xfail "sparc*-*-linux*"
}
}
+ setup_xfail "s390*-*-linux*"
setup_xfail "x86_64-*-linux*"
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
@@ -303,6 +304,7 @@
setup_xfail "alpha*-*-linux*"
setup_xfail "mips*-*-linux*"
}
+ setup_xfail "s390*-*-linux*"
setup_xfail "x86_64-*-linux*"
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
@@ -369,6 +371,7 @@
setup_xfail "sparc*-*-linux*"
}
}
+ setup_xfail "s390*-*-linux*"
setup_xfail "x86_64-*-linux*"
if { ![istarget hppa*64*-*-linux*] } {
setup_xfail "hppa*-*-linux*"
--- ld/testsuite/ld-shared/shared.exp
+++ ld/testsuite/ld-shared/shared.exp
@@ -208,7 +208,7 @@
setup_xfail "sparc*-*-linux*"
}
setup_xfail "x86_64-*-linux*"
- setup_xfail "s390x-*-linux*"
+ setup_xfail "s390*-*-linux*"
shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared
# Test ELF shared library relocations with a non-zero load
@@ -228,7 +228,7 @@
setup_xfail "sparc*-*-linux*"
}
setup_xfail "x86_64-*-linux*"
- setup_xfail "s390x-*-linux*"
+ setup_xfail "s390*-*-linux*"
shared_test shnp "shared (non PIC, load offset)" \
mainnp.o sh1np.o sh2np.o shared \
"-T $srcdir/$subdir/elf-offset.ld"
@@ -277,7 +277,7 @@
setup_xfail "sparc*-*-linux*"
}
setup_xfail "x86_64-*-linux*"
- setup_xfail "s390x-*-linux*"
+ setup_xfail "s390*-*-linux*"
shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared
}
} else {

5
s390-pic.patch Normal file
View File

@ -0,0 +1,5 @@
--- config/mh-s390pic
+++ config/mh-s390pic
@@ -1 +1 @@
-PICFLAG=-fpic
+PICFLAG=-fPIC

32
testsuite.diff Normal file
View File

@ -0,0 +1,32 @@
--- binutils/testsuite/binutils-all/windres/windres.exp
+++ binutils/testsuite/binutils-all/windres/windres.exp
@@ -46,6 +46,7 @@
set wr "$wr --include-dir $srcdir/../../winsup/w32api/include"
set target_xfail "no"
} else {
+ return
send_log "\nWarning: Assuming windres can find the win32 headers\n\n"
}
--- ld/testsuite/ld-srec/srec.exp
+++ ld/testsuite/ld-srec/srec.exp
@@ -17,6 +17,9 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+# Too fragile.
+return
+
# Get the offset from an S-record line to the start of the data.
proc srec_off { l } {
--- ld/testsuite/ld-undefined/undefined.exp
+++ ld/testsuite/ld-undefined/undefined.exp
@@ -127,6 +127,6 @@
# the function. Therefore the line number in the error message is 8 instead
# of 9. On 64 bit s/390 this works because of the new brasl instruction that
# doesn't need a literal pool entry.
-setup_xfail s390-*-*
+#setup_xfail s390-*-*
checkund $ml $testline

27
unit-at-a-time.patch Normal file
View File

@ -0,0 +1,27 @@
Index: selective.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-selective/selective.exp,v
retrieving revision 1.26
diff -c -3 -p -r1.26 selective.exp
*** ld/testsuite/ld-selective/selective.exp 10 Aug 2002 12:48:52 -0000 1.26
--- ld/testsuite/ld-selective/selective.exp 19 Aug 2003 08:00:20 -0000
*************** set seltests {
*** 59,66 ****
{A::foo() B::foo() dropme1() dropme2()} {*-*-*}}
}
! set cflags "-w -O -ffunction-sections -fdata-sections"
! set cxxflags "-fvtable-gc -fno-exceptions -fno-rtti"
set ldflags "--gc-sections -Bstatic"
if [istarget sh64*-*-elf] {
--- 59,66 ----
{A::foo() B::foo() dropme1() dropme2()} {*-*-*}}
}
! set cflags "-w -O -ffunction-sections -fdata-sections -fno-unit-at-a-time"
! set cxxflags "-fvtable-gc -fno-exceptions -fno-rtti -fno-unit-at-a-time"
set ldflags "--gc-sections -Bstatic"
if [istarget sh64*-*-elf] {

View File

@ -0,0 +1,39 @@
--- ld/ldmain.c
+++ ld/ldmain.c
@@ -267,6 +267,7 @@
link_info.combreloc = TRUE;
link_info.strip_discarded = TRUE;
link_info.emit_hash = TRUE;
+ link_info.emit_gnu_hash = TRUE;
link_info.callbacks = &link_callbacks;
link_info.input_bfds_tail = &link_info.input_bfds;
/* SVR4 linkers seem to set DT_INIT and DT_FINI based on magic _init
--- ld/testsuite/config/default.exp
+++ ld/testsuite/config/default.exp
@@ -20,7 +20,7 @@
#
if ![info exists ld] then {
- set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro"
+ set ld "[findfile $base_dir/ld-new $base_dir/ld-new [transform ld]] -znorelro --hash-style=sysv"
}
if ![info exists as] then {
@@ -67,7 +67,7 @@
catch "exec mkdir tmpdir/ld" status
catch "exec ln -s ../../ld-new tmpdir/ld/ld" status
}
-set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro"
+set gcc_ld_flag "-B[pwd]/tmpdir/ld/ -Wl,-z,norelro -Wl,--hash-style=sysv"
# load the linker path
if {[file exists tmpdir/libpath.exp]} {
@@ -261,7 +261,7 @@
}
if ![info exists LD] then {
- set LD "[findfile $base_dir/ld-new ./ld-new [transform ld]] -znorelro"
+ set LD "[findfile $base_dir/ld-new ./ld-new [transform ld]] -znorelro --hash-style=sysv"
}
if ![info exists LDFLAGS] then {

13
x86-64-biarch.patch Normal file
View File

@ -0,0 +1,13 @@
Index: ld/emulparams/elf_i386.sh
================================================================================
--- ld/emulparams/elf_i386.sh
+++ ld/emulparams/elf_i386.sh
@@ -12,3 +12,8 @@
GENERATE_PIE_SCRIPT=yes
NO_SMALL_DATA=yes
SEPARATE_GOTPLT=12
+
+# Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
+case "$EMULATION_NAME" in
+ *64*) LIBPATH_SUFFIX=64 ;;
+esac