mirror of
https://git.yoctoproject.org/poky
synced 2026-04-30 03:32:12 +02:00
binutils: Upgrade to 2.24
This builds and runs images for all qemu machines (From OE-Core rev: 015eca84f1b0f25868b47d2480bb60cea698f70e) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
Add the armv5e architecture to binutils
|
||||
|
||||
Binutils has a comment that indicates it is supposed to match gcc for all of
|
||||
the support "-march=" settings, but it was lacking the armv5e setting. This
|
||||
was a simple way to add it, as thumb instructions shouldn't be generated by
|
||||
the compiler anyway.
|
||||
|
||||
Upstream-Status: Denied
|
||||
Upstream maintainer indicated that we should not be using armv5e, even though
|
||||
it is a legal archicture defined by our gcc.
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: binutils-2.22.90/gas/config/tc-arm.c
|
||||
===================================================================
|
||||
--- binutils-2.22.90.orig/gas/config/tc-arm.c 2012-07-24 09:38:32.000000000 -0700
|
||||
+++ binutils-2.22.90/gas/config/tc-arm.c 2012-08-07 23:41:59.822564075 -0700
|
||||
@@ -23162,6 +23162,7 @@
|
||||
ARM_ARCH_OPT ("armv4t", ARM_ARCH_V4T, FPU_ARCH_FPA),
|
||||
ARM_ARCH_OPT ("armv4txm", ARM_ARCH_V4TxM, FPU_ARCH_FPA),
|
||||
ARM_ARCH_OPT ("armv5", ARM_ARCH_V5, FPU_ARCH_VFP),
|
||||
+ ARM_ARCH_OPT ("armv5e", ARM_ARCH_V5TE, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("armv5t", ARM_ARCH_V5T, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("armv5txm", ARM_ARCH_V5TxM, FPU_ARCH_VFP),
|
||||
ARM_ARCH_OPT ("armv5te", ARM_ARCH_V5TE, FPU_ARCH_VFP),
|
||||
259
meta/recipes-devtools/binutils/binutils/binutils-poison.patch
Normal file
259
meta/recipes-devtools/binutils/binutils/binutils-poison.patch
Normal file
@@ -0,0 +1,259 @@
|
||||
Upstream-Status: Inappropriate [distribution: codesourcery]
|
||||
|
||||
Patch originally created by Mark Hatle, forward-ported to
|
||||
binutils 2.21 by Scott Garman.
|
||||
|
||||
purpose: warn for uses of system directories when cross linking
|
||||
|
||||
Code Merged from Sourcery G++ binutils 2.19 - 4.4-277
|
||||
|
||||
2008-07-02 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
ld/
|
||||
* ld.h (args_type): Add error_poison_system_directories.
|
||||
* ld.texinfo (--error-poison-system-directories): Document.
|
||||
* ldfile.c (ldfile_add_library_path): Check
|
||||
command_line.error_poison_system_directories.
|
||||
* ldmain.c (main): Initialize
|
||||
command_line.error_poison_system_directories.
|
||||
* lexsup.c (enum option_values): Add
|
||||
OPTION_ERROR_POISON_SYSTEM_DIRECTORIES.
|
||||
(ld_options): Add --error-poison-system-directories.
|
||||
(parse_args): Handle new option.
|
||||
|
||||
2007-06-13 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
ld/
|
||||
* config.in: Regenerate.
|
||||
* ld.h (args_type): Add poison_system_directories.
|
||||
* ld.texinfo (--no-poison-system-directories): Document.
|
||||
* ldfile.c (ldfile_add_library_path): Check
|
||||
command_line.poison_system_directories.
|
||||
* ldmain.c (main): Initialize
|
||||
command_line.poison_system_directories.
|
||||
* lexsup.c (enum option_values): Add
|
||||
OPTION_NO_POISON_SYSTEM_DIRECTORIES.
|
||||
(ld_options): Add --no-poison-system-directories.
|
||||
(parse_args): Handle new option.
|
||||
|
||||
2007-04-20 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
Merge from Sourcery G++ binutils 2.17:
|
||||
|
||||
2007-03-20 Joseph Myers <joseph@codesourcery.com>
|
||||
Based on patch by Mark Hatle <mark.hatle@windriver.com>.
|
||||
ld/
|
||||
* configure.in (--enable-poison-system-directories): New option.
|
||||
* configure, config.in: Regenerate.
|
||||
* ldfile.c (ldfile_add_library_path): If
|
||||
ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib,
|
||||
/usr/lib, /usr/local/lib or /usr/X11R6/lib.
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
|
||||
Index: binutils-2.24/ld/config.in
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/config.in 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/config.in 2013-12-15 11:46:59.810435651 -0800
|
||||
@@ -11,6 +11,9 @@
|
||||
language is requested. */
|
||||
#undef ENABLE_NLS
|
||||
|
||||
+/* Define to warn for use of native system library directories */
|
||||
+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
|
||||
+
|
||||
/* Additional extension a shared object might have. */
|
||||
#undef EXTRA_SHLIB_EXTENSION
|
||||
|
||||
Index: binutils-2.24/ld/configure
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/configure 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/configure 2013-12-15 11:46:59.810435651 -0800
|
||||
@@ -777,6 +777,7 @@
|
||||
enable_targets
|
||||
enable_64_bit_bfd
|
||||
with_sysroot
|
||||
+enable_poison_system_directories
|
||||
enable_gold
|
||||
enable_got
|
||||
enable_werror
|
||||
@@ -1433,6 +1434,8 @@
|
||||
(and sometimes confusing) to the casual installer
|
||||
--enable-targets alternative target configurations
|
||||
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
|
||||
+ --enable-poison-system-directories
|
||||
+ warn for use of native system library directories
|
||||
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
|
||||
--enable-got=<type> GOT handling scheme (target, single, negative,
|
||||
multigot)
|
||||
@@ -4345,7 +4348,18 @@
|
||||
fi
|
||||
|
||||
|
||||
+# Check whether --enable-poison-system-directories was given.
|
||||
+if test "${enable_poison_system_directories+set}" = set; then :
|
||||
+ enableval=$enable_poison_system_directories;
|
||||
+else
|
||||
+ enable_poison_system_directories=no
|
||||
+fi
|
||||
+
|
||||
+if test "x${enable_poison_system_directories}" = "xyes"; then
|
||||
|
||||
+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
|
||||
+
|
||||
+fi
|
||||
|
||||
# Check whether --enable-got was given.
|
||||
if test "${enable_got+set}" = set; then :
|
||||
Index: binutils-2.24/ld/configure.in
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/configure.in 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/configure.in 2013-12-15 11:46:59.810435651 -0800
|
||||
@@ -87,6 +87,16 @@
|
||||
AC_SUBST(TARGET_SYSTEM_ROOT)
|
||||
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
|
||||
|
||||
+AC_ARG_ENABLE([poison-system-directories],
|
||||
+ AS_HELP_STRING([--enable-poison-system-directories],
|
||||
+ [warn for use of native system library directories]),,
|
||||
+ [enable_poison_system_directories=no])
|
||||
+if test "x${enable_poison_system_directories}" = "xyes"; then
|
||||
+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
|
||||
+ [1],
|
||||
+ [Define to warn for use of native system library directories])
|
||||
+fi
|
||||
+
|
||||
dnl Use --enable-gold to decide if this linker should be the default.
|
||||
dnl "install_as_default" is set to false if gold is the default linker.
|
||||
dnl "installed_linker" is the installed BFD linker name.
|
||||
Index: binutils-2.24/ld/ldfile.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/ldfile.c 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/ldfile.c 2013-12-15 11:46:59.813768989 -0800
|
||||
@@ -116,6 +116,23 @@
|
||||
new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL);
|
||||
else
|
||||
new_dirs->name = xstrdup (name);
|
||||
+
|
||||
+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
|
||||
+ if (command_line.poison_system_directories
|
||||
+ && ((!strncmp (name, "/lib", 4))
|
||||
+ || (!strncmp (name, "/usr/lib", 8))
|
||||
+ || (!strncmp (name, "/usr/local/lib", 14))
|
||||
+ || (!strncmp (name, "/usr/X11R6/lib", 14))))
|
||||
+ {
|
||||
+ if (command_line.error_poison_system_directories)
|
||||
+ einfo (_("%X%P: error: library search path \"%s\" is unsafe for "
|
||||
+ "cross-compilation\n"), name);
|
||||
+ else
|
||||
+ einfo (_("%P: warning: library search path \"%s\" is unsafe for "
|
||||
+ "cross-compilation\n"), name);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
/* Try to open a BFD for a lang_input_statement. */
|
||||
Index: binutils-2.24/ld/ld.h
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/ld.h 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/ld.h 2013-12-15 11:46:59.813768989 -0800
|
||||
@@ -180,6 +180,14 @@
|
||||
/* If TRUE we'll just print the default output on stdout. */
|
||||
bfd_boolean print_output_format;
|
||||
|
||||
+ /* If TRUE (the default) warn for uses of system directories when
|
||||
+ cross linking. */
|
||||
+ bfd_boolean poison_system_directories;
|
||||
+
|
||||
+ /* If TRUE (default FALSE) give an error for uses of system
|
||||
+ directories when cross linking instead of a warning. */
|
||||
+ bfd_boolean error_poison_system_directories;
|
||||
+
|
||||
/* Big or little endian as set on command line. */
|
||||
enum endian_enum endian;
|
||||
|
||||
Index: binutils-2.24/ld/ldmain.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/ldmain.c 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/ldmain.c 2013-12-15 11:48:12.087101740 -0800
|
||||
@@ -266,6 +266,8 @@
|
||||
command_line.warn_mismatch = TRUE;
|
||||
command_line.warn_search_mismatch = TRUE;
|
||||
command_line.check_section_addresses = -1;
|
||||
+ command_line.poison_system_directories = TRUE;
|
||||
+ command_line.error_poison_system_directories = FALSE;
|
||||
|
||||
/* We initialize DEMANGLING based on the environment variable
|
||||
COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the
|
||||
Index: binutils-2.24/ld/ld.texinfo
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/ld.texinfo 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/ld.texinfo 2013-12-15 11:46:59.813768989 -0800
|
||||
@@ -2175,6 +2175,18 @@
|
||||
|
||||
Passing @code{none} for @var{style} disables the setting from any
|
||||
@code{--build-id} options earlier on the command line.
|
||||
+
|
||||
+@kindex --no-poison-system-directories
|
||||
+@item --no-poison-system-directories
|
||||
+Do not warn for @option{-L} options using system directories such as
|
||||
+@file{/usr/lib} when cross linking. This option is intended for use
|
||||
+in chroot environments when such directories contain the correct
|
||||
+libraries for the target system rather than the host.
|
||||
+
|
||||
+@kindex --error-poison-system-directories
|
||||
+@item --error-poison-system-directories
|
||||
+Give an error instead of a warning for @option{-L} options using
|
||||
+system directories when cross linking.
|
||||
@end table
|
||||
|
||||
@c man end
|
||||
Index: binutils-2.24/ld/lexsup.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/lexsup.c 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/lexsup.c 2013-12-15 11:49:28.950434490 -0800
|
||||
@@ -507,6 +507,14 @@
|
||||
OPTION_IGNORE_UNRESOLVED_SYMBOL},
|
||||
'\0', N_("SYMBOL"),
|
||||
N_("Unresolved SYMBOL will not cause an error or warning"), TWO_DASHES },
|
||||
+ { {"no-poison-system-directories", no_argument, NULL,
|
||||
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES},
|
||||
+ '\0', NULL, N_("Do not warn for -L options using system directories"),
|
||||
+ TWO_DASHES },
|
||||
+ { {"error-poison-system-directories", no_argument, NULL,
|
||||
+ + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES},
|
||||
+ '\0', NULL, N_("Give an error for -L options using system directories"),
|
||||
+ TWO_DASHES },
|
||||
};
|
||||
|
||||
#define OPTION_COUNT ARRAY_SIZE (ld_options)
|
||||
@@ -1442,6 +1450,14 @@
|
||||
einfo (_("%P%X: --hash-size needs a numeric argument\n"));
|
||||
}
|
||||
break;
|
||||
+
|
||||
+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
|
||||
+ command_line.poison_system_directories = FALSE;
|
||||
+ break;
|
||||
+
|
||||
+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
|
||||
+ command_line.error_poison_system_directories = TRUE;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
||||
Index: binutils-2.24/ld/ldlex.h
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/ldlex.h 2013-12-15 11:46:17.000000000 -0800
|
||||
+++ binutils-2.24/ld/ldlex.h 2013-12-15 11:47:43.230435299 -0800
|
||||
@@ -138,6 +138,8 @@
|
||||
OPTION_DEFAULT_SCRIPT,
|
||||
OPTION_PRINT_OUTPUT_FORMAT,
|
||||
OPTION_IGNORE_UNRESOLVED_SYMBOL,
|
||||
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
|
||||
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
|
||||
};
|
||||
|
||||
/* The initial parser states. */
|
||||
@@ -0,0 +1,40 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: binutils-2.22/configure
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/configure
|
||||
+++ binutils-2.22/configure
|
||||
@@ -3130,7 +3130,7 @@ case "${target}" in
|
||||
;;
|
||||
s390-*-* | s390x-*-*)
|
||||
;;
|
||||
- sh-*-* | sh[34]*-*-*)
|
||||
+ sh*-*-* | sh[34]*-*-*)
|
||||
;;
|
||||
sh64-*-* | sh5*-*-*)
|
||||
;;
|
||||
@@ -3570,7 +3570,7 @@ case "${target}" in
|
||||
mips*-*-*)
|
||||
noconfigdirs="$noconfigdirs gprof"
|
||||
;;
|
||||
- sh-*-* | sh64-*-*)
|
||||
+ sh*-*-* | sh64-*-*)
|
||||
case "${target}" in
|
||||
sh*-*-elf)
|
||||
;;
|
||||
Index: binutils-2.22/gprof/configure
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/gprof/configure
|
||||
+++ binutils-2.22/gprof/configure
|
||||
@@ -6103,6 +6103,11 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
+linux-uclibc*)
|
||||
+ lt_cv_deplibs_check_method=pass_all
|
||||
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
|
||||
+ ;;
|
||||
+
|
||||
netbsd*)
|
||||
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
|
||||
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
|
||||
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh -e
|
||||
## 001_ld_makefile_patch.dpatch
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: Description: correct where ld scripts are installed
|
||||
## DP: Author: Chris Chimelis <chris@debian.org>
|
||||
## DP: Upstream status: N/A
|
||||
## DP: Date: ??
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
|
||||
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
|
||||
|
||||
case "$1" in
|
||||
-patch) patch $patch_opts -p1 < $0;;
|
||||
-unpatch) patch $patch_opts -p1 -R < $0;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
Upstream-Status: Inappropriate [debian patch]
|
||||
|
||||
@DPATCH@
|
||||
Index: binutils-2.22/ld/Makefile.am
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/ld/Makefile.am
|
||||
+++ binutils-2.22/ld/Makefile.am
|
||||
@@ -37,7 +37,7 @@ endif
|
||||
# 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@
|
||||
Index: binutils-2.22/ld/Makefile.in
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/ld/Makefile.in
|
||||
+++ binutils-2.22/ld/Makefile.in
|
||||
@@ -366,7 +366,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,45 @@
|
||||
#!/bin/sh -e
|
||||
## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: Specify which filename is causing an error if the filename is a
|
||||
## DP: directory. (#45832)
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
|
||||
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
|
||||
|
||||
case "$1" in
|
||||
-patch) patch $patch_opts -p1 < $0;;
|
||||
-unpatch) patch $patch_opts -p1 -R < $0;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
Upstream-Status: Inappropriate [debian patch]
|
||||
|
||||
@DPATCH@
|
||||
Index: binutils-2.22/bfd/opncls.c
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/bfd/opncls.c
|
||||
+++ binutils-2.22/bfd/opncls.c
|
||||
@@ -197,6 +197,13 @@ bfd_fopen (const char *filename, const c
|
||||
{
|
||||
bfd *nbfd;
|
||||
const bfd_target *target_vec;
|
||||
+ struct stat s;
|
||||
+
|
||||
+ if (stat (filename, &s) == 0)
|
||||
+ if (S_ISDIR(s.st_mode)) {
|
||||
+ bfd_set_error (bfd_error_file_not_recognized);
|
||||
+ return NULL;
|
||||
+ }
|
||||
|
||||
nbfd = _bfd_new_bfd ();
|
||||
if (nbfd == NULL)
|
||||
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh -e
|
||||
## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
|
||||
## DP: cases where -rpath isn't specified. (#151024)
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
|
||||
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
|
||||
|
||||
case "$1" in
|
||||
-patch) patch $patch_opts -p1 < $0;;
|
||||
-unpatch) patch $patch_opts -p1 -R < $0;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
Upstream-Status: Inappropriate [debian patch]
|
||||
|
||||
@DPATCH@
|
||||
Index: binutils-2.22/ld/emultempl/elf32.em
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/ld/emultempl/elf32.em
|
||||
+++ binutils-2.22/ld/emultempl/elf32.em
|
||||
@@ -1273,6 +1273,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;
|
||||
@@ -1500,6 +1502,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;
|
||||
|
||||
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
|
||||
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||
@@ -0,0 +1,38 @@
|
||||
Source: Khem Raj <raj.khem@gmail.com>
|
||||
Disposition: submit upstream.
|
||||
Upstream-Status: Pending
|
||||
|
||||
Description:
|
||||
|
||||
We do not need to have the libtool patch anymore for binutils after
|
||||
libtool has been updated upstream it include support for it. However
|
||||
for building gas natively on uclibc systems we have to link it with
|
||||
-lm so that it picks up missing symbols.
|
||||
|
||||
/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_from_double':
|
||||
floatformat.c:(.text+0x1ec): undefined reference to `frexp'
|
||||
floatformat.c:(.text+0x2f8): undefined reference to `ldexp'
|
||||
/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_to_double':
|
||||
floatformat.c:(.text+0x38a): undefined reference to `ldexp'
|
||||
floatformat.c:(.text+0x3d2): undefined reference to `ldexp'
|
||||
floatformat.c:(.text+0x43e): undefined reference to `ldexp' floatformat.c:(.text+0x4e2): undefined reference to `ldexp'
|
||||
collect2: ld returned 1 exit status
|
||||
make[4]: *** [as-new] Error 1
|
||||
|
||||
Index: binutils-2.22/gas/configure.tgt
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/gas/configure.tgt
|
||||
+++ binutils-2.22/gas/configure.tgt
|
||||
@@ -428,6 +428,12 @@ case ${generic_target} in
|
||||
*-*-netware) fmt=elf em=netware ;;
|
||||
esac
|
||||
|
||||
+case ${generic_target} in
|
||||
+ arm-*-*uclibc*)
|
||||
+ need_libm=yes
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
case ${cpu_type} in
|
||||
alpha | arm | i386 | ia64 | microblaze | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k)
|
||||
bfd_gas=yes
|
||||
@@ -0,0 +1,402 @@
|
||||
Upstream-Status: Unknown
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
From 26adb06ce515aadfec08ce13109b4b98287f677b Mon Sep 17 00:00:00 2001
|
||||
From: Nebu Philips <nphilips@netlogicmicro.com>
|
||||
Date: Fri, 30 Jul 2010 15:10:03 -0700
|
||||
Subject: [PATCH] Add support for Netlogic XLP
|
||||
|
||||
Using the mipsisa64r2nlm target, add support for XLP from
|
||||
Netlogic. Also, update vendor name to NLM wherever applicable.
|
||||
---
|
||||
bfd/aoutx.h | 1 +
|
||||
bfd/archures.c | 1 +
|
||||
bfd/bfd-in2.h | 1 +
|
||||
bfd/config.bfd | 5 +++++
|
||||
bfd/cpu-mips.c | 6 ++++--
|
||||
bfd/elfxx-mips.c | 8 ++++++++
|
||||
binutils/readelf.c | 1 +
|
||||
config.sub | 6 ++++++
|
||||
gas/config/tc-mips.c | 7 ++++++-
|
||||
gas/configure | 3 +++
|
||||
gas/configure.tgt | 2 +-
|
||||
gas/doc/c-mips.texi | 3 ++-
|
||||
include/elf/mips.h | 1 +
|
||||
include/opcode/mips.h | 6 +++++-
|
||||
ld/configure.tgt | 2 ++
|
||||
opcodes/mips-dis.c | 6 ++++++
|
||||
opcodes/mips-opc.c | 31 ++++++++++++++++++++-----------
|
||||
17 files changed, 73 insertions(+), 17 deletions(-)
|
||||
|
||||
Index: binutils-2.24/bfd/aoutx.h
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/bfd/aoutx.h 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/bfd/aoutx.h 2013-12-15 13:08:03.397065919 -0800
|
||||
@@ -798,6 +798,7 @@
|
||||
case bfd_mach_mipsisa64r2:
|
||||
case bfd_mach_mips_sb1:
|
||||
case bfd_mach_mips_xlr:
|
||||
+ case bfd_mach_mips_xlp:
|
||||
/* FIXME: These should be MIPS3, MIPS4, MIPS16, MIPS32, etc. */
|
||||
arch_flags = M_MIPS2;
|
||||
break;
|
||||
Index: binutils-2.24/bfd/archures.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/bfd/archures.c 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/bfd/archures.c 2013-12-15 13:08:03.397065919 -0800
|
||||
@@ -178,6 +178,7 @@
|
||||
.#define bfd_mach_mips_octeonp 6601
|
||||
.#define bfd_mach_mips_octeon2 6502
|
||||
.#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *}
|
||||
+.#define bfd_mach_mips_xlp 887680 {* decimal 'XLP' *}
|
||||
.#define bfd_mach_mipsisa32 32
|
||||
.#define bfd_mach_mipsisa32r2 33
|
||||
.#define bfd_mach_mipsisa64 64
|
||||
Index: binutils-2.24/bfd/bfd-in2.h
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/bfd/bfd-in2.h 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/bfd/bfd-in2.h 2013-12-15 13:08:03.400399254 -0800
|
||||
@@ -1933,6 +1933,7 @@
|
||||
#define bfd_mach_mips_octeonp 6601
|
||||
#define bfd_mach_mips_octeon2 6502
|
||||
#define bfd_mach_mips_xlr 887682 /* decimal 'XLR' */
|
||||
+#define bfd_mach_mips_xlp 887680 /* decimal 'XLP' */
|
||||
#define bfd_mach_mipsisa32 32
|
||||
#define bfd_mach_mipsisa32r2 33
|
||||
#define bfd_mach_mipsisa64 64
|
||||
Index: binutils-2.24/bfd/config.bfd
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/bfd/config.bfd 2013-12-15 13:08:03.047065922 -0800
|
||||
+++ binutils-2.24/bfd/config.bfd 2013-12-15 13:08:03.400399254 -0800
|
||||
@@ -1032,6 +1032,11 @@
|
||||
targ_defvec=bfd_elf32_littlemips_vec
|
||||
targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
||||
;;
|
||||
+ mipsisa64*-*-elf*)
|
||||
+ targ_defvec=bfd_elf32_tradbigmips_vec
|
||||
+ targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
||||
+ want64=true
|
||||
+ ;;
|
||||
mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss)
|
||||
targ_defvec=bfd_elf32_bigmips_vec
|
||||
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
||||
Index: binutils-2.24/bfd/cpu-mips.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/bfd/cpu-mips.c 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/bfd/cpu-mips.c 2013-12-15 13:08:03.400399254 -0800
|
||||
@@ -99,7 +99,8 @@
|
||||
I_mipsocteonp,
|
||||
I_mipsocteon2,
|
||||
I_xlr,
|
||||
- I_micromips
|
||||
+ I_micromips,
|
||||
+ I_xlp
|
||||
};
|
||||
|
||||
#define NN(index) (&arch_info_struct[(index) + 1])
|
||||
@@ -143,7 +144,8 @@
|
||||
N (64, 64, bfd_mach_mips_octeonp,"mips:octeon+", FALSE, NN(I_mipsocteonp)),
|
||||
N (64, 64, bfd_mach_mips_octeon2,"mips:octeon2", FALSE, NN(I_mipsocteon2)),
|
||||
N (64, 64, bfd_mach_mips_xlr, "mips:xlr", FALSE, NN(I_xlr)),
|
||||
- N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
|
||||
+ N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,NN(I_micromips)),
|
||||
+ N (64, 64, bfd_mach_mips_xlp, "mips:xlp", FALSE, 0)
|
||||
};
|
||||
|
||||
/* The default architecture is mips:3000, but with a machine number of
|
||||
Index: binutils-2.24/bfd/elfxx-mips.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/bfd/elfxx-mips.c 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/bfd/elfxx-mips.c 2013-12-15 13:08:03.400399254 -0800
|
||||
@@ -6404,6 +6404,9 @@
|
||||
case E_MIPS_MACH_XLR:
|
||||
return bfd_mach_mips_xlr;
|
||||
|
||||
+ case E_MIPS_MACH_XLP:
|
||||
+ return bfd_mach_mips_xlp;
|
||||
+
|
||||
default:
|
||||
switch (flags & EF_MIPS_ARCH)
|
||||
{
|
||||
@@ -11622,6 +11625,10 @@
|
||||
val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_OCTEON2;
|
||||
break;
|
||||
|
||||
+ case bfd_mach_mips_xlp:
|
||||
+ val = E_MIPS_ARCH_64R2 | E_MIPS_MACH_XLP;
|
||||
+ break;
|
||||
+
|
||||
case bfd_mach_mipsisa32:
|
||||
val = E_MIPS_ARCH_32;
|
||||
break;
|
||||
@@ -14202,6 +14209,7 @@
|
||||
{ bfd_mach_mips_octeon2, bfd_mach_mips_octeonp },
|
||||
{ bfd_mach_mips_octeonp, bfd_mach_mips_octeon },
|
||||
{ bfd_mach_mips_octeon, bfd_mach_mipsisa64r2 },
|
||||
+ { bfd_mach_mips_xlp, bfd_mach_mipsisa64r2 },
|
||||
|
||||
/* MIPS64 extensions. */
|
||||
{ bfd_mach_mipsisa64r2, bfd_mach_mipsisa64 },
|
||||
Index: binutils-2.24/binutils/readelf.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/binutils/readelf.c 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/binutils/readelf.c 2013-12-15 13:08:03.403732587 -0800
|
||||
@@ -2602,6 +2602,7 @@
|
||||
case E_MIPS_MACH_OCTEON: strcat (buf, ", octeon"); break;
|
||||
case E_MIPS_MACH_OCTEON2: strcat (buf, ", octeon2"); break;
|
||||
case E_MIPS_MACH_XLR: strcat (buf, ", xlr"); break;
|
||||
+ case E_MIPS_MACH_XLP: strcat (buf, ", xlp"); break;
|
||||
case 0:
|
||||
/* We simply ignore the field in this case to avoid confusion:
|
||||
MIPS ELF does not specify EF_MIPS_MACH, it is a GNU
|
||||
Index: binutils-2.24/gas/config/tc-mips.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/gas/config/tc-mips.c 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/gas/config/tc-mips.c 2013-12-15 13:17:19.943728439 -0800
|
||||
@@ -486,6 +486,7 @@
|
||||
|| mips_opts.arch == CPU_RM7000 \
|
||||
|| mips_opts.arch == CPU_VR5500 \
|
||||
|| mips_opts.micromips \
|
||||
+ || mips_opts.arch == CPU_XLP \
|
||||
)
|
||||
|
||||
/* Whether the processor uses hardware interlocks to protect reads
|
||||
@@ -515,6 +516,7 @@
|
||||
&& mips_opts.isa != ISA_MIPS3) \
|
||||
|| mips_opts.arch == CPU_R4300 \
|
||||
|| mips_opts.micromips \
|
||||
+ || mips_opts.arch == CPU_XLP \
|
||||
)
|
||||
|
||||
/* Whether the processor uses hardware interlocks to protect reads
|
||||
@@ -17794,7 +17796,7 @@
|
||||
/* Broadcom XLP.
|
||||
XLP is mostly like XLR, with the prominent exception that it is
|
||||
MIPS64R2 rather than MIPS64. */
|
||||
- { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR },
|
||||
+ { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLP },
|
||||
|
||||
/* End marker */
|
||||
{ NULL, 0, 0, 0, 0 }
|
||||
Index: binutils-2.24/gas/configure
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/gas/configure 2013-12-15 13:08:01.127065936 -0800
|
||||
+++ binutils-2.24/gas/configure 2013-12-15 13:08:03.407065920 -0800
|
||||
@@ -12697,6 +12697,9 @@
|
||||
mipsisa64r2 | mipsisa64r2el)
|
||||
mips_cpu=mips64r2
|
||||
;;
|
||||
+ mipsisa64r2nlm | mipsisa64r2nlmel)
|
||||
+ mips_cpu=xlp
|
||||
+ ;;
|
||||
mipstx39 | mipstx39el)
|
||||
mips_cpu=r3900
|
||||
;;
|
||||
Index: binutils-2.24/gas/configure.tgt
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/gas/configure.tgt 2013-12-15 13:08:00.783732605 -0800
|
||||
+++ binutils-2.24/gas/configure.tgt 2013-12-15 13:08:03.407065920 -0800
|
||||
@@ -325,7 +325,7 @@
|
||||
fmt=elf em=freebsd ;;
|
||||
mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;;
|
||||
mips*-sde-elf* | mips*-mti-elf*) fmt=elf em=tmips ;;
|
||||
- mips-*-elf* | mips-*-rtems*) fmt=elf ;;
|
||||
+ mips-*-elf* | mips-*-rtems*) fmt=elf em=tmips ;;
|
||||
mips-*-netbsd*) fmt=elf em=tmips ;;
|
||||
mips-*-openbsd*) fmt=elf em=tmips ;;
|
||||
|
||||
Index: binutils-2.24/include/elf/mips.h
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/include/elf/mips.h 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/include/elf/mips.h 2013-12-15 13:08:03.407065920 -0800
|
||||
@@ -274,6 +274,7 @@
|
||||
#define E_MIPS_MACH_SB1 0x008a0000
|
||||
#define E_MIPS_MACH_OCTEON 0x008b0000
|
||||
#define E_MIPS_MACH_XLR 0x008c0000
|
||||
+#define E_MIPS_MACH_XLP 0x008e0000
|
||||
#define E_MIPS_MACH_OCTEON2 0x008d0000
|
||||
#define E_MIPS_MACH_5400 0x00910000
|
||||
#define E_MIPS_MACH_5900 0x00920000
|
||||
Index: binutils-2.24/include/opcode/mips.h
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/include/opcode/mips.h 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/include/opcode/mips.h 2013-12-15 13:40:11.130384844 -0800
|
||||
@@ -1092,8 +1092,10 @@
|
||||
#define INSN_LOONGSON_2F 0x80000000
|
||||
/* Loongson 3A. */
|
||||
#define INSN_LOONGSON_3A 0x00000400
|
||||
-/* RMI Xlr instruction */
|
||||
-#define INSN_XLR 0x00000020
|
||||
+/* Netlogic Xlr instruction */
|
||||
+#define INSN_XLR 0x00000020
|
||||
+/* Netlogic XlP instruction */
|
||||
+#define INSN_XLP 0x00000040
|
||||
|
||||
/* DSP ASE */
|
||||
#define ASE_DSP 0x00000001
|
||||
@@ -1172,6 +1174,7 @@
|
||||
#define CPU_OCTEONP 6601
|
||||
#define CPU_OCTEON2 6502
|
||||
#define CPU_XLR 887682 /* decimal 'XLR' */
|
||||
+#define CPU_XLP 887680 /* decimal 'XLP' */
|
||||
|
||||
/* Return true if the given CPU is included in INSN_* mask MASK. */
|
||||
|
||||
@@ -1239,6 +1242,9 @@
|
||||
case CPU_XLR:
|
||||
return (mask & INSN_XLR) != 0;
|
||||
|
||||
+ case CPU_XLP:
|
||||
+ return (mask & INSN_XLP) != 0;
|
||||
+
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
Index: binutils-2.24/ld/configure.tgt
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/configure.tgt 2013-12-15 13:08:03.047065922 -0800
|
||||
+++ binutils-2.24/ld/configure.tgt 2013-12-15 13:08:03.407065920 -0800
|
||||
@@ -457,6 +457,8 @@
|
||||
mips*-sde-elf* | mips*-mti-elf*)
|
||||
targ_emul=elf32btsmip
|
||||
targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
|
||||
+mipsisa64*-*-elf*) targ_emul=elf32btsmip
|
||||
+ targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip" ;;
|
||||
mips64*el-ps2-elf*) targ_emul=elf32lr5900n32
|
||||
targ_extra_emuls="elf32lr5900"
|
||||
targ_extra_libpath=$targ_extra_emuls ;;
|
||||
Index: binutils-2.24/opcodes/mips-dis.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/opcodes/mips-dis.c 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/opcodes/mips-dis.c 2013-12-15 13:39:50.243718329 -0800
|
||||
@@ -554,13 +554,11 @@
|
||||
mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
|
||||
mips_hwr_names_numeric },
|
||||
|
||||
- /* XLP is mostly like XLR, with the prominent exception it is being
|
||||
- MIPS64R2. */
|
||||
- { "xlp", 1, bfd_mach_mips_xlr, CPU_XLR,
|
||||
- ISA_MIPS64R2 | INSN_XLR, 0,
|
||||
- mips_cp0_names_xlr,
|
||||
- mips_cp0sel_names_xlr, ARRAY_SIZE (mips_cp0sel_names_xlr),
|
||||
- mips_hwr_names_numeric },
|
||||
+ { "xlp", 1, bfd_mach_mips_xlp, CPU_XLP,
|
||||
+ ISA_MIPS64R2 | INSN_XLP, 0,
|
||||
+ mips_cp0_names_mips3264r2,
|
||||
+ mips_cp0sel_names_mips3264r2, ARRAY_SIZE (mips_cp0sel_names_mips3264r2),
|
||||
+ mips_hwr_names_mips3264r2 },
|
||||
|
||||
/* This entry, mips16, is here only for ISA/processor selection; do
|
||||
not print its name. */
|
||||
Index: binutils-2.24/opcodes/mips-opc.c
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/opcodes/mips-opc.c 2013-12-15 13:07:57.180399300 -0800
|
||||
+++ binutils-2.24/opcodes/mips-opc.c 2013-12-15 13:27:30.573724118 -0800
|
||||
@@ -262,7 +262,8 @@
|
||||
#define IOCT (INSN_OCTEON | INSN_OCTEONP | INSN_OCTEON2)
|
||||
#define IOCTP (INSN_OCTEONP | INSN_OCTEON2)
|
||||
#define IOCT2 INSN_OCTEON2
|
||||
-#define XLR INSN_XLR
|
||||
+#define XLR INSN_XLR
|
||||
+#define XLP INSN_XLP
|
||||
#define IVIRT ASE_VIRT
|
||||
#define IVIRT64 ASE_VIRT64
|
||||
|
||||
@@ -881,6 +882,7 @@
|
||||
{"cins", "t,r,+p,+S", 0x70000032, 0xfc00003f, WR_1|RD_2, 0, IOCT, 0, 0 },
|
||||
{"clo", "U,s", 0x70000021, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, 0 },
|
||||
{"clz", "U,s", 0x70000020, 0xfc0007ff, WR_1|RD_2, 0, I32|N55, 0, 0 },
|
||||
+{"crc", "d,s,t", 0x7000001c, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
|
||||
{"ctc0", "t,G", 0x40c00000, 0xffe007ff, RD_1|WR_CC|COD, 0, I1, 0, IOCT|IOCTP|IOCT2 },
|
||||
{"ctc1", "t,G", 0x44c00000, 0xffe007ff, RD_1|WR_CC|COD|FP_S, 0, I1, 0, 0 },
|
||||
{"ctc1", "t,S", 0x44c00000, 0xffe007ff, RD_1|WR_CC|COD|FP_S, 0, I1, 0, 0 },
|
||||
@@ -913,10 +915,11 @@
|
||||
{"daddiu", "t,r,j", 0x64000000, 0xfc000000, WR_1|RD_2, 0, I3, 0, 0 },
|
||||
{"daddu", "d,v,t", 0x0000002d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, I3, 0, 0 },
|
||||
{"daddu", "t,r,I", 0, (int) M_DADDU_I, INSN_MACRO, 0, I3, 0, 0 },
|
||||
-{"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR, 0, 0 },
|
||||
+{"daddwc", "d,s,t", 0x70000038, 0xfc0007ff, WR_1|RD_2|RD_3|WR_C0|RD_C0, 0, XLR|XLP, 0, 0 },
|
||||
{"dbreak", "", 0x7000003f, 0xffffffff, 0, 0, N5, 0, 0 },
|
||||
{"dclo", "U,s", 0x70000025, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, 0 },
|
||||
{"dclz", "U,s", 0x70000024, 0xfc0007ff, WR_1|RD_2, 0, I64|N55, 0, 0 },
|
||||
+{"dcrc", "d,s,t", 0x7000001d, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
|
||||
/* dctr and dctw are used on the r5000. */
|
||||
{"dctr", "o(b)", 0xbc050000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
|
||||
{"dctw", "o(b)", 0xbc090000, 0xfc1f0000, RD_2, 0, I3, 0, 0 },
|
||||
@@ -980,6 +983,7 @@
|
||||
{"dmfc0", "t,G,H", 0x40200000, 0xffe007f8, WR_1|RD_C0|LCD, 0, I64, 0, 0 },
|
||||
{"dmfgc0", "t,G", 0x40600100, 0xffe007ff, WR_1|RD_C0|LCD, 0, 0, IVIRT64, 0 },
|
||||
{"dmfgc0", "t,G,H", 0x40600100, 0xffe007f8, WR_1|RD_C0|LCD, 0, 0, IVIRT64, 0 },
|
||||
+{"dmfur", "t,d", 0x7000001e, 0xffe007ff, WR_1, 0, XLP, 0, 0 },
|
||||
{"dmt", "", 0x41600bc1, 0xffffffff, TRAP, 0, 0, MT32, 0 },
|
||||
{"dmt", "t", 0x41600bc1, 0xffe0ffff, WR_1|TRAP, 0, 0, MT32, 0 },
|
||||
{"dmtc0", "t,G", 0x40a00000, 0xffe007ff, RD_1|WR_C0|WR_CC|COD, 0, I3, 0, EE },
|
||||
@@ -994,6 +998,8 @@
|
||||
/* dmtc2 is at the bottom of the table. */
|
||||
/* dmfc3 is at the bottom of the table. */
|
||||
/* dmtc3 is at the bottom of the table. */
|
||||
+{"dmtur", "t,d", 0x7000001f, 0xffe007ff, RD_1, 0, XLP, 0, 0 },
|
||||
+{"dmul", "d,s,t", 0x70000006, 0xfc0007ff, WR_1|RD_2|RD_3, 0, XLP, 0, 0 },
|
||||
{"dmul", "d,v,t", 0x70000003, 0xfc0007ff, WR_1|RD_2|RD_3|WR_HILO, 0, IOCT, 0, 0 },
|
||||
{"dmul", "d,v,t", 0, (int) M_DMUL, INSN_MACRO, 0, I3, 0, M32 },
|
||||
{"dmul", "d,v,I", 0, (int) M_DMUL_I, INSN_MACRO, 0, I3, 0, M32 },
|
||||
@@ -1134,9 +1140,9 @@
|
||||
/* The macro has to be first to handle o32 correctly. */
|
||||
{"ld", "t,A(b)", 0, (int) M_LD_AB, INSN_MACRO, 0, I1, 0, 0 },
|
||||
{"ld", "t,o(b)", 0xdc000000, 0xfc000000, WR_1|RD_3, 0, I3, 0, 0 },
|
||||
-{"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR, 0, 0 },
|
||||
-{"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR, 0, 0 },
|
||||
-{"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR, 0, 0 },
|
||||
+{"ldaddw", "t,b", 0x70000010, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
|
||||
+{"ldaddwu", "t,b", 0x70000011, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
|
||||
+{"ldaddd", "t,b", 0x70000012, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
|
||||
{"ldc1", "T,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
|
||||
{"ldc1", "E,o(b)", 0xd4000000, 0xfc000000, WR_1|RD_3|CLD|FP_D, 0, I2, 0, SF },
|
||||
{"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, 0, SF },
|
||||
@@ -1288,7 +1294,7 @@
|
||||
{"mflo", "d,9", 0x00000012, 0xff9f07ff, WR_1|RD_LO, 0, 0, D32, 0 },
|
||||
{"mflo1", "d", 0x70000012, 0xffff07ff, WR_1|RD_LO, 0, EE, 0, 0 },
|
||||
{"mflhxu", "d", 0x00000052, 0xffff07ff, WR_1|MOD_HILO, 0, 0, SMT, 0 },
|
||||
-{"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1, 0, XLR, 0, 0 },
|
||||
+{"mfcr", "t,s", 0x70000018, 0xfc00ffff, WR_1, 0, XLR|XLP, 0, 0 },
|
||||
{"mfsa", "d", 0x00000028, 0xffff07ff, WR_1, 0, EE, 0, 0 },
|
||||
{"min.ob", "X,Y,Q", 0x78000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, SB1, MX, 0 },
|
||||
{"min.ob", "D,S,Q", 0x48000006, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, N54, 0, 0 },
|
||||
@@ -1332,10 +1338,13 @@
|
||||
/* move is at the top of the table. */
|
||||
{"msgn.qh", "X,Y,Q", 0x78200000, 0xfc20003f, WR_1|RD_2|RD_3|FP_D, 0, 0, MX, 0 },
|
||||
{"msgsnd", "t", 0, (int) M_MSGSND, INSN_MACRO, 0, XLR, 0, 0 },
|
||||
+{"msgsnds", "d,t", 0x4a000001, 0xffe007ff, WR_1|RD_2|RD_C0|WR_C0, 0, XLP, 0, 0 },
|
||||
{"msgld", "", 0, (int) M_MSGLD, INSN_MACRO, 0, XLR, 0, 0 },
|
||||
{"msgld", "t", 0, (int) M_MSGLD_T, INSN_MACRO, 0, XLR, 0, 0 },
|
||||
-{"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR, 0, 0 },
|
||||
-{"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR, 0, 0 },
|
||||
+{"msglds", "d,t", 0x4a000002, 0xffe007ff, WR_1|RD_2|RD_C0|WR_C0, 0, XLP, 0, 0 },
|
||||
+{"msgwait", "", 0, (int) M_MSGWAIT, INSN_MACRO, 0, XLR|XLP, 0, 0 },
|
||||
+{"msgwait", "t", 0, (int) M_MSGWAIT_T,INSN_MACRO, 0, XLR|XLP, 0, 0 },
|
||||
+{"msgsync", "", 0x4a000004, 0xffffffff,0, 0, XLP, 0, 0 },
|
||||
{"msub.d", "D,R,S,T", 0x4c000029, 0xfc00003f, WR_1|RD_2|RD_3|RD_4|FP_D, 0, I4_33, 0, 0 },
|
||||
{"msub.d", "D,S,T", 0x46200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2E, 0, 0 },
|
||||
{"msub.d", "D,S,T", 0x72200019, 0xffe0003f, WR_1|RD_2|RD_3|FP_D, 0, IL2F, 0, 0 },
|
||||
@@ -1381,7 +1390,7 @@
|
||||
{"mtlo", "s,7", 0x00000013, 0xfc1fe7ff, RD_1|WR_LO, 0, 0, D32, 0 },
|
||||
{"mtlo1", "s", 0x70000013, 0xfc1fffff, RD_1|WR_LO, 0, EE, 0, 0 },
|
||||
{"mtlhx", "s", 0x00000053, 0xfc1fffff, RD_1|MOD_HILO, 0, 0, SMT, 0 },
|
||||
-{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1, 0, XLR, 0, 0 },
|
||||
+{"mtcr", "t,s", 0x70000019, 0xfc00ffff, RD_1, 0, XLR|XLP, 0, 0 },
|
||||
{"mtm0", "s", 0x70000008, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
{"mtm1", "s", 0x7000000c, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
{"mtm2", "s", 0x7000000d, 0xfc1fffff, RD_1, 0, IOCT, 0, 0 },
|
||||
@@ -1802,9 +1811,9 @@
|
||||
{"suxc1", "S,t(b)", 0x4c00000d, 0xfc0007ff, RD_1|RD_2|RD_3|SM|FP_D, 0, I5_33|N55, 0, 0},
|
||||
{"sw", "t,o(b)", 0xac000000, 0xfc000000, RD_1|RD_3|SM, 0, I1, 0, 0 },
|
||||
{"sw", "t,A(b)", 0, (int) M_SW_AB, INSN_MACRO, 0, I1, 0, 0 },
|
||||
-{"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR, 0, 0 },
|
||||
-{"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR, 0, 0 },
|
||||
-{"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR, 0, 0 },
|
||||
+{"swapw", "t,b", 0x70000014, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
|
||||
+{"swapwu", "t,b", 0x70000015, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
|
||||
+{"swapd", "t,b", 0x70000016, 0xfc00ffff, MOD_1|RD_2|SM, 0, XLR|XLP, 0, 0 },
|
||||
{"swc0", "E,o(b)", 0xe0000000, 0xfc000000, RD_3|RD_C0|SM, 0, I1, 0, IOCT|IOCTP|IOCT2 },
|
||||
{"swc0", "E,A(b)", 0, (int) M_SWC0_AB, INSN_MACRO, 0, I1, 0, IOCT|IOCTP|IOCT2 },
|
||||
{"swc1", "T,o(b)", 0xe4000000, 0xfc000000, RD_1|RD_3|SM|FP_S, 0, I1, 0, 0 },
|
||||
36
meta/recipes-devtools/binutils/binutils/fix-pr15815.patch
Normal file
36
meta/recipes-devtools/binutils/binutils/fix-pr15815.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
This patch fixes the problem where libiberty is not installed in spite of
|
||||
asking it via --enable-install-libiberty, the problem is that target_header_dir
|
||||
is reset explicitly which means libiberty.a will never get installed
|
||||
|
||||
also check
|
||||
|
||||
https://sourceware.org/bugzilla/show_bug.cgi?id=15815
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Index: binutils-2.24/libiberty/configure
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/libiberty/configure 2013-12-16 00:08:09.280103157 -0800
|
||||
+++ binutils-2.24/libiberty/configure 2013-12-16 00:08:29.753436339 -0800
|
||||
@@ -5507,7 +5507,6 @@
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
Index: binutils-2.24/libiberty/configure.ac
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/libiberty/configure.ac 2013-11-08 02:13:49.000000000 -0800
|
||||
+++ binutils-2.24/libiberty/configure.ac 2013-12-16 00:07:45.133436672 -0800
|
||||
@@ -405,7 +405,6 @@
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -0,0 +1,22 @@
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
don't let the distro compiler point to the wrong installation location
|
||||
|
||||
Thanks to RP for helping find the source code causing the issue.
|
||||
|
||||
2010/08/13
|
||||
Nitin A Kamble <nitin.a.kamble@intel.com>
|
||||
Index: binutils-2.22/libiberty/Makefile.in
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/libiberty/Makefile.in
|
||||
+++ binutils-2.22/libiberty/Makefile.in
|
||||
@@ -350,7 +350,8 @@ install-strip: install
|
||||
# multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
|
||||
# default multilib, so we have to take CFLAGS into account as well,
|
||||
# since it will be passed the multilib flags.
|
||||
-MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
+#MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
+MULTIOSDIR = ""
|
||||
install_to_libdir: all
|
||||
${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
|
||||
$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
|
||||
19317
meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch
Normal file
19317
meta/recipes-devtools/binutils/binutils/libtool-2.4-update.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,39 @@
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Enabling sysroot support in libtool exposed a bug where the final
|
||||
library had an RPATH encoded into it which still pointed to the
|
||||
sysroot. This works around the issue until it gets sorted out
|
||||
upstream.
|
||||
|
||||
Fix suggested by Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
||||
|
||||
Index: binutils-2.22/ltmain.sh
|
||||
===================================================================
|
||||
--- binutils-2.22.orig/ltmain.sh
|
||||
+++ binutils-2.22/ltmain.sh
|
||||
@@ -8035,9 +8035,11 @@ EOF
|
||||
test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
|
||||
for libdir in $rpath; do
|
||||
if test -n "$hardcode_libdir_flag_spec"; then
|
||||
+ func_replace_sysroot "$libdir"
|
||||
+ libdir=$func_replace_sysroot_result
|
||||
+ func_stripname '=' '' "$libdir"
|
||||
+ libdir=$func_stripname_result
|
||||
if test -n "$hardcode_libdir_separator"; then
|
||||
- func_replace_sysroot "$libdir"
|
||||
- libdir=$func_replace_sysroot_result
|
||||
if test -z "$hardcode_libdirs"; then
|
||||
hardcode_libdirs="$libdir"
|
||||
else
|
||||
@@ -8770,6 +8772,10 @@ EOF
|
||||
hardcode_libdirs=
|
||||
for libdir in $compile_rpath $finalize_rpath; do
|
||||
if test -n "$hardcode_libdir_flag_spec"; then
|
||||
+ func_replace_sysroot "$libdir"
|
||||
+ libdir=$func_replace_sysroot_result
|
||||
+ func_stripname '=' '' "$libdir"
|
||||
+ libdir=$func_stripname_result
|
||||
if test -n "$hardcode_libdir_separator"; then
|
||||
if test -z "$hardcode_libdirs"; then
|
||||
hardcode_libdirs="$libdir"
|
||||
@@ -0,0 +1,54 @@
|
||||
for mips64*-*-linux we change the default emulations to be
|
||||
N64 instead of N32
|
||||
|
||||
Upstream-Status: Inappropriate [ OE configuration Specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Index: binutils-2.24/bfd/config.bfd
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/bfd/config.bfd 2013-11-04 07:33:37.000000000 -0800
|
||||
+++ binutils-2.24/bfd/config.bfd 2013-12-15 11:54:57.113765374 -0800
|
||||
@@ -1052,14 +1052,14 @@
|
||||
targ_defvec=bfd_elf32_bigmips_vec
|
||||
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
|
||||
;;
|
||||
- mips64*el-*-linux*)
|
||||
- targ_defvec=bfd_elf32_ntradlittlemips_vec
|
||||
- targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
|
||||
- ;;
|
||||
- mips64*-*-linux*)
|
||||
- targ_defvec=bfd_elf32_ntradbigmips_vec
|
||||
- targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
||||
- ;;
|
||||
+ mips64*el-*-linux*)
|
||||
+ targ_defvec=bfd_elf64_tradlittlemips_vec
|
||||
+ targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec"
|
||||
+ ;;
|
||||
+ mips64*-*-linux*)
|
||||
+ targ_defvec=bfd_elf64_tradbigmips_vec
|
||||
+ targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradlittlemips_vec"
|
||||
+ ;;
|
||||
mips*el-*-linux*)
|
||||
targ_defvec=bfd_elf32_tradlittlemips_vec
|
||||
targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
|
||||
Index: binutils-2.24/ld/configure.tgt
|
||||
===================================================================
|
||||
--- binutils-2.24.orig/ld/configure.tgt 2013-11-26 03:37:33.000000000 -0800
|
||||
+++ binutils-2.24/ld/configure.tgt 2013-12-15 11:50:52.273766155 -0800
|
||||
@@ -471,11 +471,11 @@
|
||||
mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
|
||||
targ_extra_emuls="elf32elmipvxworks" ;;
|
||||
mips*-*-windiss) targ_emul=elf32mipswindiss ;;
|
||||
-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
|
||||
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
|
||||
+mips64*el-*-linux-*) targ_emul=elf64ltsmip
|
||||
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
|
||||
targ_extra_libpath=$targ_extra_emuls ;;
|
||||
-mips64*-*-linux-*) targ_emul=elf32btsmipn32
|
||||
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
|
||||
+mips64*-*-linux-*) targ_emul=elf64btsmip
|
||||
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
|
||||
targ_extra_libpath=$targ_extra_emuls ;;
|
||||
mips*el-*-linux-*) targ_emul=elf32ltsmip
|
||||
targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
|
||||
@@ -0,0 +1,49 @@
|
||||
Upstream-Status: Inappropriate [SDK specific]
|
||||
|
||||
This patch will modify the ELF linker scripts so that the crosssdk linker will
|
||||
generate binaries with a 4096 bytes PT_INTERP section. When the binaries will
|
||||
be relocated, at SDK install time, the interpreter path can be easily changed
|
||||
by the relocating script.
|
||||
|
||||
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
|
||||
|
||||
Index: binutils_git/ld/genscripts.sh
|
||||
===================================================================
|
||||
--- binutils_git.orig/ld/genscripts.sh 2012-11-21 11:58:23.325441925 +0200
|
||||
+++ binutils_git/ld/genscripts.sh 2012-11-21 12:03:42.106815400 +0200
|
||||
@@ -290,6 +290,7 @@
|
||||
LD_FLAG=r
|
||||
DATA_ALIGNMENT=${DATA_ALIGNMENT_r}
|
||||
DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})"
|
||||
+PARTIAL_LINKING=" "
|
||||
( echo "/* Script for ld -r: link without relocation */"
|
||||
. ${CUSTOMIZER_SCRIPT}
|
||||
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
|
||||
@@ -298,10 +299,12 @@
|
||||
LD_FLAG=u
|
||||
DATA_ALIGNMENT=${DATA_ALIGNMENT_u}
|
||||
CONSTRUCTING=" "
|
||||
+PARTIAL_LINKING=" "
|
||||
( echo "/* Script for ld -Ur: link w/out relocation, do create constructors */"
|
||||
. ${CUSTOMIZER_SCRIPT}
|
||||
. ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
|
||||
) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xu
|
||||
+unset PARTIAL_LINKING
|
||||
|
||||
LD_FLAG=
|
||||
DATA_ALIGNMENT=${DATA_ALIGNMENT_}
|
||||
Index: binutils_git/ld/scripttempl/elf.sc
|
||||
===================================================================
|
||||
--- binutils_git.orig/ld/scripttempl/elf.sc 2012-11-21 12:02:26.800377384 +0200
|
||||
+++ binutils_git/ld/scripttempl/elf.sc 2012-11-21 12:04:16.166109621 +0200
|
||||
@@ -124,8 +124,8 @@
|
||||
DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
|
||||
DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
|
||||
fi
|
||||
-if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then
|
||||
- INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
|
||||
+if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}${PARTIAL_LINKING}"; then
|
||||
+ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp); . = 0x1000; }"
|
||||
fi
|
||||
if test -z "$PLT"; then
|
||||
IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }"
|
||||
Reference in New Issue
Block a user