add a binutils variant based on a binutils snapshot and codesourcery g++ enhancements (compiles, but fails to link the kernel)
SVN-Revision: 18060master
parent
f0f100551d
commit
0b077fa3a7
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,22 @@ |
|||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -2330,7 +2330,7 @@ case "${target}" in
|
||||||
|
noconfigdirs="$noconfigdirs target-libffi target-qthreads"
|
||||||
|
libgloss_dir=arm
|
||||||
|
;;
|
||||||
|
- arm*-*-linux-gnueabi)
|
||||||
|
+ arm*-*-linux-*gnueabi)
|
||||||
|
noconfigdirs="$noconfigdirs target-qthreads"
|
||||||
|
case ${with_newlib} in
|
||||||
|
no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -566,7 +566,7 @@ case "${target}" in
|
||||||
|
noconfigdirs="$noconfigdirs target-libffi target-qthreads"
|
||||||
|
libgloss_dir=arm
|
||||||
|
;;
|
||||||
|
- arm*-*-linux-gnueabi)
|
||||||
|
+ arm*-*-linux-*gnueabi)
|
||||||
|
noconfigdirs="$noconfigdirs target-qthreads"
|
||||||
|
case ${with_newlib} in
|
||||||
|
no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
@ -0,0 +1,13 @@ |
|||||||
|
--- a/bfd/elf32-arm.c
|
||||||
|
+++ b/bfd/elf32-arm.c
|
||||||
|
@@ -5476,6 +5476,10 @@ bfd_elf32_arm_init_maps (bfd *abfd)
|
||||||
|
if (! is_arm_elf (abfd))
|
||||||
|
return;
|
||||||
|
|
||||||
|
+ /* PR 7093: Make sure that we are dealing with an arm elf binary. */
|
||||||
|
+ if (! is_arm_elf (abfd))
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
if ((abfd->flags & DYNAMIC) != 0)
|
||||||
|
return;
|
||||||
|
|
@ -0,0 +1,40 @@ |
|||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -2298,7 +2298,7 @@ case "${target}" in
|
||||||
|
am33_2.0-*-linux*)
|
||||||
|
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
|
||||||
|
;;
|
||||||
|
- sh-*-linux*)
|
||||||
|
+ sh*-*-linux*)
|
||||||
|
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
|
||||||
|
;;
|
||||||
|
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
|
||||||
|
@@ -2632,7 +2632,7 @@ case "${target}" in
|
||||||
|
romp-*-*)
|
||||||
|
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
|
||||||
|
;;
|
||||||
|
- sh-*-* | sh64-*-*)
|
||||||
|
+ sh*-*-* | sh64-*-*)
|
||||||
|
case "${host}" in
|
||||||
|
i[3456789]86-*-vsta) ;; # don't add gprof back in
|
||||||
|
i[3456789]86-*-go32*) ;; # don't add gprof back in
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -534,7 +534,7 @@ case "${target}" in
|
||||||
|
am33_2.0-*-linux*)
|
||||||
|
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
|
||||||
|
;;
|
||||||
|
- sh-*-linux*)
|
||||||
|
+ sh*-*-linux*)
|
||||||
|
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
|
||||||
|
;;
|
||||||
|
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
|
||||||
|
@@ -868,7 +868,7 @@ case "${target}" in
|
||||||
|
romp-*-*)
|
||||||
|
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
|
||||||
|
;;
|
||||||
|
- sh-*-* | sh64-*-*)
|
||||||
|
+ sh*-*-* | sh64-*-*)
|
||||||
|
case "${host}" in
|
||||||
|
i[[3456789]]86-*-vsta) ;; # don't add gprof back in
|
||||||
|
i[[3456789]]86-*-go32*) ;; # don't add gprof back in
|
@ -0,0 +1,22 @@ |
|||||||
|
--- a/ld/Makefile.am
|
||||||
|
+++ b/ld/Makefile.am
|
||||||
|
@@ -18,7 +18,7 @@ AM_CFLAGS = $(WARN_CFLAGS)
|
||||||
|
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
||||||
|
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
||||||
|
# directives need to be different for native and cross linkers.
|
||||||
|
-scriptdir = $(tooldir)/lib
|
||||||
|
+scriptdir = $(libdir)
|
||||||
|
|
||||||
|
EMUL = @EMUL@
|
||||||
|
EMULATION_OFILES = @EMULATION_OFILES@
|
||||||
|
--- a/ld/Makefile.in
|
||||||
|
+++ b/ld/Makefile.in
|
||||||
|
@@ -304,7 +304,7 @@ AM_CFLAGS = $(WARN_CFLAGS)
|
||||||
|
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
||||||
|
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
||||||
|
# directives need to be different for native and cross linkers.
|
||||||
|
-scriptdir = $(tooldir)/lib
|
||||||
|
+scriptdir = $(libdir)
|
||||||
|
BASEDIR = $(srcdir)/..
|
||||||
|
BFDDIR = $(BASEDIR)/bfd
|
||||||
|
INCDIR = $(BASEDIR)/include
|
@ -0,0 +1,20 @@ |
|||||||
|
--- a/ld/emultempl/elf32.em
|
||||||
|
+++ b/ld/emultempl/elf32.em
|
||||||
|
@@ -1220,6 +1220,8 @@ fragment <<EOF
|
||||||
|
&& command_line.rpath == NULL)
|
||||||
|
{
|
||||||
|
lib_path = (const char *) getenv ("LD_RUN_PATH");
|
||||||
|
+ if ((lib_path) && (strlen (lib_path) == 0))
|
||||||
|
+ lib_path = NULL;
|
||||||
|
if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
|
||||||
|
force))
|
||||||
|
break;
|
||||||
|
@@ -1405,6 +1407,8 @@ gld${EMULATION_NAME}_before_allocation (
|
||||||
|
rpath = command_line.rpath;
|
||||||
|
if (rpath == NULL)
|
||||||
|
rpath = (const char *) getenv ("LD_RUN_PATH");
|
||||||
|
+ if ((rpath) && (strlen (rpath) == 0))
|
||||||
|
+ rpath = NULL;
|
||||||
|
if (! (bfd_elf_size_dynamic_sections
|
||||||
|
(link_info.output_bfd, command_line.soname, rpath,
|
||||||
|
command_line.filter_shlib,
|
Loading…
Reference in new issue