summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch')
-rw-r--r--meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch129
1 files changed, 56 insertions, 73 deletions
diff --git a/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch b/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch
index 2356c6a60f..c724dfd7a7 100644
--- a/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch
+++ b/meta/recipes-devtools/binutils/binutils/0008-warn-for-uses-of-system-directories-when-cross-linki.patch
@@ -1,7 +1,7 @@
-From 413075afbdb16e7cc05511682ca9e3c880acb5a7 Mon Sep 17 00:00:00 2001
+From 99e1565b9d2b929d4ee4e9da6f63766b22b23fc3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 15 Jan 2016 06:31:09 +0000
-Subject: [PATCH 08/17] warn for uses of system directories when cross linking
+Subject: [PATCH] warn for uses of system directories when cross linking
2008-07-02 Joseph Myers <joseph@codesourcery.com>
@@ -57,16 +57,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
ld/ld.h | 8 ++++++++
ld/ld.texi | 12 ++++++++++++
ld/ldfile.c | 17 +++++++++++++++++
- ld/ldlex.h | 5 +++++
+ ld/ldlex.h | 2 ++
ld/ldmain.c | 2 ++
- ld/lexsup.c | 27 +++++++++++++++++++++++++++
- 9 files changed, 100 insertions(+)
+ ld/lexsup.c | 16 ++++++++++++++++
+ 9 files changed, 86 insertions(+)
-diff --git a/ld/config.in b/ld/config.in
-index f1712107367..308e0173c16 100644
--- a/ld/config.in
+++ b/ld/config.in
-@@ -40,6 +40,9 @@
+@@ -43,6 +43,9 @@
language is requested. */
#undef ENABLE_NLS
@@ -76,11 +74,9 @@ index f1712107367..308e0173c16 100644
/* Additional extension a shared object might have. */
#undef EXTRA_SHLIB_EXTENSION
-diff --git a/ld/configure b/ld/configure
-index f08ce9969ea..1c872c0db5f 100755
--- a/ld/configure
+++ b/ld/configure
-@@ -826,6 +826,7 @@ with_lib_path
+@@ -829,6 +829,7 @@ with_lib_path
enable_targets
enable_64_bit_bfd
with_sysroot
@@ -88,8 +84,8 @@ index f08ce9969ea..1c872c0db5f 100755
enable_gold
enable_got
enable_compressed_debug_sections
-@@ -1493,6 +1494,8 @@ Optional Features:
- --disable-largefile omit support for large files
+@@ -1498,6 +1499,8 @@ Optional Features:
+ --enable-checking enable run-time checks
--enable-targets alternative target configurations
--enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
+ --enable-poison-system-directories
@@ -97,7 +93,7 @@ index f08ce9969ea..1c872c0db5f 100755
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
-@@ -15793,6 +15796,19 @@ fi
+@@ -15215,6 +15218,19 @@ fi
@@ -117,11 +113,9 @@ index f08ce9969ea..1c872c0db5f 100755
# Check whether --enable-gold was given.
if test "${enable_gold+set}" = set; then :
enableval=$enable_gold; case "${enableval}" in
-diff --git a/ld/configure.ac b/ld/configure.ac
-index 5a4938afdb0..dbbbde74b04 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
-@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot)
+@@ -106,6 +106,16 @@ AC_SUBST(use_sysroot)
AC_SUBST(TARGET_SYSTEM_ROOT)
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
@@ -138,30 +132,26 @@ index 5a4938afdb0..dbbbde74b04 100644
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.
-diff --git a/ld/ld.h b/ld/ld.h
-index 1790dc81a66..73f832eb169 100644
--- a/ld/ld.h
+++ b/ld/ld.h
-@@ -166,6 +166,14 @@ typedef struct
+@@ -162,6 +162,14 @@ typedef struct
in the linker script. */
- bfd_boolean force_group_allocation;
+ bool force_group_allocation;
+ /* If TRUE (the default) warn for uses of system directories when
+ cross linking. */
-+ bfd_boolean poison_system_directories;
++ bool 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;
++ bool error_poison_system_directories;
+
/* Big or little endian as set on command line. */
enum endian_enum endian;
-diff --git a/ld/ld.texi b/ld/ld.texi
-index 2a93e9456ac..3eeb70607fd 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
-@@ -2655,6 +2655,18 @@ string identifying the original linked file does not change.
+@@ -2863,6 +2863,18 @@ string identifying the original linked f
Passing @code{none} for @var{style} disables the setting from any
@code{--build-id} options earlier on the command line.
@@ -180,11 +170,9 @@ index 2a93e9456ac..3eeb70607fd 100644
@end table
@c man end
-diff --git a/ld/ldfile.c b/ld/ldfile.c
-index e39170b5d94..fadc248a140 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
-@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline)
+@@ -117,6 +117,23 @@ ldfile_add_library_path (const char *nam
new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL);
else
new_dirs->name = xstrdup (name);
@@ -208,55 +196,52 @@ index e39170b5d94..fadc248a140 100644
}
/* Try to open a BFD for a lang_input_statement. */
-diff --git a/ld/ldlex.h b/ld/ldlex.h
-index 5ea083ebeb3..941dc5f3dc8 100644
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
-@@ -155,6 +155,11 @@ enum option_values
- OPTION_NON_CONTIGUOUS_REGIONS,
- OPTION_NON_CONTIGUOUS_REGIONS_WARNINGS,
- OPTION_DEPENDENCY_FILE,
-+ OPTION_CTF_VARIABLES,
-+ OPTION_NO_CTF_VARIABLES,
-+ OPTION_CTF_SHARE_TYPES,
+@@ -163,6 +163,8 @@ enum option_values
+ OPTION_CTF_VARIABLES,
+ OPTION_NO_CTF_VARIABLES,
+ OPTION_CTF_SHARE_TYPES,
+ OPTION_NO_POISON_SYSTEM_DIRECTORIES,
+ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES,
};
/* The initial parser states. */
-diff --git a/ld/ldmain.c b/ld/ldmain.c
-index f5c5a336320..516ba0360e2 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
-@@ -322,6 +322,8 @@ main (int argc, char **argv)
- command_line.warn_mismatch = TRUE;
- command_line.warn_search_mismatch = TRUE;
+@@ -321,6 +321,8 @@ main (int argc, char **argv)
+ 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;
++ 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
-diff --git a/ld/lexsup.c b/ld/lexsup.c
-index 58c6c078325..879e7bb7658 100644
+@@ -1444,7 +1446,7 @@ undefined_symbol (struct bfd_link_info *
+ argv[1] = "undefined-symbol";
+ argv[2] = (char *) name;
+ argv[3] = NULL;
+-
++
+ if (verbose)
+ einfo (_("%P: About to run error handling script '%s' with arguments: '%s' '%s'\n"),
+ argv[0], argv[1], argv[2]);
+@@ -1465,7 +1467,7 @@ undefined_symbol (struct bfd_link_info *
+ carry on to issue the normal error message. */
+ }
+ #endif /* SUPPORT_ERROR_HANDLING_SCRIPT */
+-
++
+ if (section != NULL)
+ {
+ if (error_count < MAX_ERRORS_IN_A_ROW)
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
-@@ -572,6 +572,26 @@ static const struct ld_option ld_options[] =
- { {"no-print-map-discarded", no_argument, NULL, OPTION_NO_PRINT_MAP_DISCARDED},
- '\0', NULL, N_("Do not show discarded sections in map file output"),
+@@ -595,6 +595,14 @@ static const struct ld_option ld_options
+ " <method> is: share-unconflicted (default),\n"
+ " share-duplicated"),
TWO_DASHES },
-+ { {"ctf-variables", no_argument, NULL, OPTION_CTF_VARIABLES},
-+ '\0', NULL, N_("Emit names and types of static variables in CTF"),
-+ TWO_DASHES },
-+ { {"no-ctf-variables", no_argument, NULL, OPTION_NO_CTF_VARIABLES},
-+ '\0', NULL, N_("Do not emit names and types of static variables in CTF"),
-+ TWO_DASHES },
-+ { {"ctf-share-types=<method>", required_argument, NULL,
-+ OPTION_CTF_SHARE_TYPES},
-+ '\0', NULL, N_("How to share CTF types between translation units.\n"
-+ " <method> is: share-unconflicted (default),\n"
-+ " share-duplicated"),
-+ 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"),
@@ -268,20 +253,18 @@ index 58c6c078325..879e7bb7658 100644
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
-@@ -1632,6 +1652,13 @@ parse_args (unsigned argc, char **argv)
+@@ -1686,6 +1694,14 @@ parse_args (unsigned argc, char **argv)
+ config.print_map_discarded = true;
+ break;
- case OPTION_PRINT_MAP_DISCARDED:
- config.print_map_discarded = TRUE;
-+
+ case OPTION_NO_POISON_SYSTEM_DIRECTORIES:
-+ command_line.poison_system_directories = FALSE;
++ command_line.poison_system_directories = false;
+ break;
+
+ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES:
-+ command_line.error_poison_system_directories = TRUE;
- break;
-
++ command_line.error_poison_system_directories = true;
++ break;
++
case OPTION_DEPENDENCY_FILE:
---
-2.28.0
-
+ config.dependency_file = optarg;
+ break;