1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

add a binutils variant based on a binutils snapshot and codesourcery g++ enhancements (compiles, but fails to link the kernel)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18060 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd
2009-10-19 02:09:59 +00:00
parent 1c0fd705a6
commit 0aa409cc4d
8 changed files with 32499 additions and 3 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -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"

View File

@@ -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;

View File

@@ -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

View File

@@ -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

View File

@@ -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,