diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 25 | ||||
-rw-r--r-- | ld/emultempl/aix.em | 2 | ||||
-rw-r--r-- | ld/emultempl/beos.em | 6 | ||||
-rw-r--r-- | ld/emultempl/elf.em | 12 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 2 | ||||
-rw-r--r-- | ld/emultempl/pep.em | 2 | ||||
-rw-r--r-- | ld/emultempl/xtensaelf.em | 4 | ||||
-rw-r--r-- | ld/ldctor.c | 2 | ||||
-rw-r--r-- | ld/ldelf.c | 16 | ||||
-rw-r--r-- | ld/ldfile.c | 2 | ||||
-rw-r--r-- | ld/ldlang.c | 2 | ||||
-rw-r--r-- | ld/ldmain.c | 6 | ||||
-rw-r--r-- | ld/ldwrite.c | 4 | ||||
-rw-r--r-- | ld/lexsup.c | 2 | ||||
-rw-r--r-- | ld/pe-dll.c | 4 |
15 files changed, 58 insertions, 33 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index cdbdc7b..19b56f0 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,28 @@ +2021-03-22 Martin Liska <mliska@suse.cz> + + * emultempl/aix.em: Replace usage of CONST_STRNEQ with startswith. + * emultempl/beos.em: Likewise. + * emultempl/elf.em: Likewise. + * emultempl/pe.em: Likewise. + * emultempl/pep.em: Likewise. + * emultempl/xtensaelf.em: Likewise. + * ldctor.c (ctor_prio): Likewise. + * ldelf.c (ldelf_try_needed): Likewise. + (ldelf_parse_ld_so_conf): Likewise. + (ldelf_after_open): Likewise. + (output_rel_find): Likewise. + (ldelf_place_orphan): Likewise. + * ldfile.c (ldfile_add_library_path): Likewise. + * ldlang.c (lang_add_input_file): Likewise. + * ldmain.c (get_sysroot): Likewise. + (get_emulation): Likewise. + (add_archive_element): Likewise. + * ldwrite.c (unsplittable_name): Likewise. + (clone_section): Likewise. + * lexsup.c (parse_args): Likewise. + * pe-dll.c (is_import): Likewise. + (pe_implied_import_dll): Likewise. + 2021-03-19 H.J. Lu <hongjiu.lu@intel.com> PR ld/27590 diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em index e098f2a..6fd67b2 100644 --- a/ld/emultempl/aix.em +++ b/ld/emultempl/aix.em @@ -287,7 +287,7 @@ gld${EMULATION_NAME}_parse_args (int argc, char **argv) if (indx == 0) indx = 1; - if (indx < argc && CONST_STRNEQ (argv[indx], "-b")) + if (indx < argc && startswith (argv[indx], "-b")) { char *s; diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em index fc43ce1..d984d3d 100644 --- a/ld/emultempl/beos.em +++ b/ld/emultempl/beos.em @@ -461,8 +461,8 @@ sort_by_section_name (const void *a, const void *b) FIXME stripping images with a .rsrc section still needs to be fixed. */ if (i != 0) { - if ((CONST_STRNEQ (sna, ".stab")) - && (!CONST_STRNEQ (snb, ".stab"))) + if ((startswith (sna, ".stab")) + && (!startswith (snb, ".stab"))) return 1; } return i; @@ -536,7 +536,7 @@ sort_sections (lang_statement_union_type *s) { /* Is this the .idata section? */ if (sec->spec.name != NULL - && CONST_STRNEQ (sec->spec.name, ".idata")) + && startswith (sec->spec.name, ".idata")) { /* Sort the children. We want to sort any objects in the same archive. In order to handle the case of diff --git a/ld/emultempl/elf.em b/ld/emultempl/elf.em index 9e7c3d8..986b77e 100644 --- a/ld/emultempl/elf.em +++ b/ld/emultempl/elf.em @@ -712,7 +712,7 @@ fragment <<EOF link_info.unresolved_syms_in_objects = RM_IGNORE; else if (strcmp (optarg, "muldefs") == 0) link_info.allow_multiple_definition = TRUE; - else if (CONST_STRNEQ (optarg, "max-page-size=")) + else if (startswith (optarg, "max-page-size=")) { char *end; @@ -722,7 +722,7 @@ fragment <<EOF einfo (_("%F%P: invalid maximum page size \`%s'\n"), optarg + 14); } - else if (CONST_STRNEQ (optarg, "common-page-size=")) + else if (startswith (optarg, "common-page-size=")) { char *end; link_info.commonpagesize = strtoul (optarg + 17, &end, 0); @@ -731,7 +731,7 @@ fragment <<EOF einfo (_("%F%P: invalid common page size \`%s'\n"), optarg + 17); } - else if (CONST_STRNEQ (optarg, "stack-size=")) + else if (startswith (optarg, "stack-size=")) { char *end; link_info.stacksize = strtoul (optarg + 11, &end, 0); @@ -760,11 +760,11 @@ fragment <<EOF { link_info.flags_1 |= DF_1_GLOBAUDIT; } - else if (CONST_STRNEQ (optarg, "start-stop-gc")) + else if (startswith (optarg, "start-stop-gc")) link_info.start_stop_gc = TRUE; - else if (CONST_STRNEQ (optarg, "nostart-stop-gc")) + else if (startswith (optarg, "nostart-stop-gc")) link_info.start_stop_gc = FALSE; - else if (CONST_STRNEQ (optarg, "start-stop-visibility=")) + else if (startswith (optarg, "start-stop-visibility=")) { if (strcmp (optarg, "start-stop-visibility=default") == 0) link_info.start_stop_visibility = STV_DEFAULT; diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 748a6b4..ea11a02 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -1529,7 +1529,7 @@ gld_${EMULATION_NAME}_after_open (void) { if (strcmp (sec->name, ".idata\$2") == 0) idata2 = 1; - if (CONST_STRNEQ (sec->name, ".idata\$")) + if (startswith (sec->name, ".idata\$")) is_imp = 1; reloc_count += sec->reloc_count; } diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em index ff49c15..5f539cb 100644 --- a/ld/emultempl/pep.em +++ b/ld/emultempl/pep.em @@ -1501,7 +1501,7 @@ gld_${EMULATION_NAME}_after_open (void) { if (strcmp (sec->name, ".idata\$2") == 0) idata2 = 1; - if (CONST_STRNEQ (sec->name, ".idata\$")) + if (startswith (sec->name, ".idata\$")) is_imp = 1; reloc_count += sec->reloc_count; } diff --git a/ld/emultempl/xtensaelf.em b/ld/emultempl/xtensaelf.em index cdab038..2b0fa5a 100644 --- a/ld/emultempl/xtensaelf.em +++ b/ld/emultempl/xtensaelf.em @@ -262,7 +262,7 @@ replace_instruction_table_sections (bfd *abfd, asection *sec) insn_sec_name = INSN_SEC_BASE_NAME; prop_sec_name = PROP_SEC_BASE_NAME; } - else if (CONST_STRNEQ (sec_name, LINKONCE_SEC_OLD_TEXT_BASE_NAME)) + else if (startswith (sec_name, LINKONCE_SEC_OLD_TEXT_BASE_NAME)) { insn_sec_name = sec_name; owned_prop_sec_name = (char *) xmalloc (strlen (sec_name) + 20); @@ -1320,7 +1320,7 @@ is_inconsistent_linkonce_section (asection *sec) /* Check if this is an Xtensa property section or an exception table for Tensilica's XCC compiler. */ name = sec_name + linkonce_len; - if (CONST_STRNEQ (name, "prop.")) + if (startswith (name, "prop.")) name = strchr (name + 5, '.') ? strchr (name + 5, '.') + 1 : name + 5; else if (name[1] == '.' && (name[0] == 'p' || name[0] == 'e' || name[0] == 'h')) diff --git a/ld/ldctor.c b/ld/ldctor.c index 7ab6f36..841ffe3 100644 --- a/ld/ldctor.c +++ b/ld/ldctor.c @@ -131,7 +131,7 @@ ctor_prio (const char *name) while (*name == '_') ++name; - if (!CONST_STRNEQ (name, "GLOBAL_")) + if (!startswith (name, "GLOBAL_")) return -1; name += sizeof "GLOBAL_" - 1; @@ -321,7 +321,7 @@ ldelf_try_needed (struct dt_needed *needed, int force, int is_linux) struct bfd_link_needed_list *l; for (l = needs; l != NULL; l = l->next) - if (CONST_STRNEQ (l->name, "libc.so")) + if (startswith (l->name, "libc.so")) break; if (l == NULL) { @@ -837,7 +837,7 @@ ldelf_parse_ld_so_conf (struct ldelf_ld_so_conf *info, const char *filename) if (p[0] == '\0') continue; - if (CONST_STRNEQ (p, "include") && (p[7] == ' ' || p[7] == '\t')) + if (startswith (p, "include") && (p[7] == ' ' || p[7] == '\t')) { char *dir, c; p += 8; @@ -1089,7 +1089,7 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd, if (bfd_is_abs_section (s->output_section)) continue; - if (CONST_STRNEQ (name, ".eh_frame_entry")) + if (startswith (name, ".eh_frame_entry")) type = COMPACT_EH_HDR; else if (strcmp (name, ".eh_frame") == 0 && s->size > 8) type = DWARF2_EH_HDR; @@ -1820,7 +1820,7 @@ output_rel_find (int isdyn, int rela) lookup = lookup->next) { if (lookup->constraint >= 0 - && CONST_STRNEQ (lookup->name, ".rel")) + && startswith (lookup->name, ".rel")) { int lookrela = lookup->name[4] == 'a'; @@ -1971,7 +1971,7 @@ ldelf_place_orphan (asection *s, const char *secname, int constraint) default: break; } - else if (CONST_STRNEQ (secname, ".rel")) + else if (startswith (secname, ".rel")) { secname = secname[4] == 'a' ? ".rela.dyn" : ".rel.dyn"; isdyn = 1; @@ -2084,7 +2084,7 @@ ldelf_place_orphan (asection *s, const char *secname, int constraint) /* If this is a final link, then always put .gnu.warning.SYMBOL sections into the .text section to get them out of the way. */ if (bfd_link_executable (&link_info) - && CONST_STRNEQ (s->name, ".gnu.warning.") + && startswith (s->name, ".gnu.warning.") && hold[orphan_text].os != NULL) { os = hold[orphan_text].os; @@ -2124,7 +2124,7 @@ ldelf_place_orphan (asection *s, const char *secname, int constraint) else if ((flags & SEC_LOAD) != 0 && (elfinput ? sh_type == SHT_NOTE - : CONST_STRNEQ (secname, ".note"))) + : startswith (secname, ".note"))) place = &hold[orphan_interp]; else if ((flags & (SEC_LOAD | SEC_HAS_CONTENTS | SEC_THREAD_LOCAL)) == 0) place = &hold[orphan_bss]; @@ -2137,7 +2137,7 @@ ldelf_place_orphan (asection *s, const char *secname, int constraint) else if ((flags & SEC_LOAD) != 0 && (elfinput ? sh_type == SHT_RELA || sh_type == SHT_REL - : CONST_STRNEQ (secname, ".rel"))) + : startswith (secname, ".rel"))) place = &hold[orphan_rel]; else if ((flags & SEC_CODE) == 0) place = &hold[orphan_rodata]; diff --git a/ld/ldfile.c b/ld/ldfile.c index 81cb86d..c428d14 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c @@ -113,7 +113,7 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) now. */ if (name[0] == '=') new_dirs->name = concat (ld_sysroot, name + 1, (const char *) NULL); - else if (CONST_STRNEQ (name, "$SYSROOT")) + else if (startswith (name, "$SYSROOT")) new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); else new_dirs->name = xstrdup (name); diff --git a/ld/ldlang.c b/ld/ldlang.c index df8a5d1..629be32 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -1186,7 +1186,7 @@ lang_add_input_file (const char *name, const char *target) { if (name != NULL - && (*name == '=' || CONST_STRNEQ (name, "$SYSROOT"))) + && (*name == '=' || startswith (name, "$SYSROOT"))) { lang_input_statement_type *ret; char *sysrooted_name diff --git a/ld/ldmain.c b/ld/ldmain.c index 7a3c02a..aa52205 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -648,7 +648,7 @@ get_sysroot (int argc, char **argv) const char *path = NULL; for (i = 1; i < argc; i++) - if (CONST_STRNEQ (argv[i], "--sysroot=")) + if (startswith (argv[i], "--sysroot=")) path = argv[i] + strlen ("--sysroot="); if (!path) @@ -681,7 +681,7 @@ get_emulation (int argc, char **argv) for (i = 1; i < argc; i++) { - if (CONST_STRNEQ (argv[i], "-m")) + if (startswith (argv[i], "-m")) { if (argv[i][2] == '\0') { @@ -935,7 +935,7 @@ add_archive_element (struct bfd_link_info *info, h = bfd_link_hash_lookup (info->hash, name, FALSE, FALSE, TRUE); if (h == NULL && info->pei386_auto_import - && CONST_STRNEQ (name, "__imp_")) + && startswith (name, "__imp_")) h = bfd_link_hash_lookup (info->hash, name + 6, FALSE, FALSE, TRUE); if (h == NULL) diff --git a/ld/ldwrite.c b/ld/ldwrite.c index 2db0b63..ef1d88c 100644 --- a/ld/ldwrite.c +++ b/ld/ldwrite.c @@ -281,7 +281,7 @@ build_link_order (lang_statement_union_type *statement) static bfd_boolean unsplittable_name (const char *name) { - if (CONST_STRNEQ (name, ".stab")) + if (startswith (name, ".stab")) { /* There are several stab like string sections. We pattern match on ".stab...str" */ @@ -326,7 +326,7 @@ clone_section (bfd *abfd, asection *s, const char *name, int *count) { /* Some section names cannot be truncated, as the name is used to locate some other section. */ - if (CONST_STRNEQ (name, ".stab") + if (startswith (name, ".stab") || strcmp (name, "$GDB_SYMBOLS$") == 0) { einfo (_ ("%F%P: cannot create split section name for %s\n"), name); diff --git a/ld/lexsup.c b/ld/lexsup.c index 36492ab..88eb79e 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -1560,7 +1560,7 @@ parse_args (unsigned argc, char **argv) link_info.discard = discard_all; break; case 'Y': - if (CONST_STRNEQ (optarg, "P,")) + if (startswith (optarg, "P,")) optarg += 2; free (default_dirlist); default_dirlist = xstrdup (optarg); diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 7aba09c..154c684 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -545,7 +545,7 @@ pe_dll_add_excludes (const char *new_excludes, const exclude_type type) static bfd_boolean is_import (const char* n) { - return (CONST_STRNEQ (n, "__imp_")); + return (startswith (n, "__imp_")); } /* abfd is a bfd containing n (or NULL) @@ -3531,7 +3531,7 @@ pe_implied_import_dll (const char *filename) /* Skip unwanted symbols, which are exported in buggy auto-import releases. */ - if (! CONST_STRNEQ (erva + name_rva, "__nm_")) + if (! startswith (erva + name_rva, "__nm_")) { int is_dup = 0; /* is_data is true if the address is in the data, rdata or bss |