From e9b095a538c189369b4792662ea455d2314b0492 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 22 Mar 2021 14:56:16 +0100 Subject: [PATCH] Remove strneq macro and use startswith. bfd/ChangeLog: * ecoff.c (strneq): Remove strneq and use startswith. (_bfd_ecoff_slurp_armap): Likewise. binutils/ChangeLog: * elfcomm.h (strneq): Remove strneq and use startswith. * readelf.c (ia64_process_unwind): Likewise. (process_note): Likewise. gas/ChangeLog: * config/obj-coff.c (strneq): Remove strneq and use startswith. (weak_is_altname): Likewise. (obj_coff_section): Likewise. * config/tc-cr16.c (process_label_constant): Likewise. * config/tc-crx.c (strneq): Likewise. include/ChangeLog: * opcode/cr16.h (strneq): Remove strneq and use startswith. ld/ChangeLog: * ldbuildid.c (strneq): Remove strneq and use startswith. (validate_build_id_style): Likewise. (compute_build_id_size): Likewise. opcodes/ChangeLog: * arm-dis.c (strneq): Remove strneq and use startswith. * cr16-dis.c (print_insn_cr16): Likewise. * score-dis.c (streq): Likewise. (strneq): Likewise. * score7-dis.c (strneq): Likewise. --- bfd/ChangeLog | 5 +++++ bfd/ecoff.c | 5 ++--- binutils/ChangeLog | 6 ++++++ binutils/elfcomm.h | 1 - binutils/readelf.c | 14 +++++++------- gas/ChangeLog | 8 ++++++++ gas/config/obj-coff.c | 5 ++--- gas/config/tc-cr16.c | 26 +++++++++++++------------- gas/config/tc-crx.c | 1 - include/ChangeLog | 4 ++++ include/opcode/cr16.h | 1 - ld/ChangeLog | 6 ++++++ ld/ldbuildid.c | 7 +++---- opcodes/ChangeLog | 8 ++++++++ opcodes/arm-dis.c | 5 ----- opcodes/cr16-dis.c | 2 +- opcodes/score-dis.c | 8 -------- opcodes/score7-dis.c | 4 ---- 18 files changed, 65 insertions(+), 51 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index aa62c92213a..4977dc92aa6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2021-04-01 Martin Liska + + * ecoff.c (strneq): Remove strneq and use startswith. + (_bfd_ecoff_slurp_armap): Likewise. + 2021-04-01 Martin Liska * elf-bfd.h (bfd_section_is_ctf): Use startswith function. diff --git a/bfd/ecoff.c b/bfd/ecoff.c index f09fc1dd0a6..7844a50b39d 100644 --- a/bfd/ecoff.c +++ b/bfd/ecoff.c @@ -46,7 +46,6 @@ #include "libiberty.h" #define streq(a, b) (strcmp ((a), (b)) == 0) -#define strneq(a, b, n) (strncmp ((a), (b), (n)) == 0) /* This stuff is somewhat copied from coffcode.h. */ @@ -2870,14 +2869,14 @@ _bfd_ecoff_slurp_armap (bfd *abfd) return bfd_slurp_armap (abfd); /* See if the first element is an armap. */ - if (! strneq (nextname, ecoff_backend (abfd)->armap_start, ARMAP_START_LENGTH) + if (strncmp (nextname, ecoff_backend (abfd)->armap_start, ARMAP_START_LENGTH) != 0 || nextname[ARMAP_HEADER_MARKER_INDEX] != ARMAP_MARKER || (nextname[ARMAP_HEADER_ENDIAN_INDEX] != ARMAP_BIG_ENDIAN && nextname[ARMAP_HEADER_ENDIAN_INDEX] != ARMAP_LITTLE_ENDIAN) || nextname[ARMAP_OBJECT_MARKER_INDEX] != ARMAP_MARKER || (nextname[ARMAP_OBJECT_ENDIAN_INDEX] != ARMAP_BIG_ENDIAN && nextname[ARMAP_OBJECT_ENDIAN_INDEX] != ARMAP_LITTLE_ENDIAN) - || ! strneq (nextname + ARMAP_END_INDEX, ARMAP_END, sizeof ARMAP_END - 1)) + || strncmp (nextname + ARMAP_END_INDEX, ARMAP_END, sizeof ARMAP_END - 1) != 0) { abfd->has_armap = false; return true; diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 1ffbdf8fc72..844dbf493a3 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2021-04-01 Martin Liska + + * elfcomm.h (strneq): Remove strneq and use startswith. + * readelf.c (ia64_process_unwind): Likewise. + (process_note): Likewise. + 2021-04-01 Martin Liska * dllwrap.c: Use startswith function. diff --git a/binutils/elfcomm.h b/binutils/elfcomm.h index 04e909c2da3..921d42ca425 100644 --- a/binutils/elfcomm.h +++ b/binutils/elfcomm.h @@ -47,7 +47,6 @@ extern void byte_get_64 (const unsigned char *, elf_vma *, elf_vma *); /* This is just a bit of syntatic sugar. */ #define streq(a,b) (strcmp ((a), (b)) == 0) -#define strneq(a,b,n) (strncmp ((a), (b), (n)) == 0) /* Structure to hold information about an archive file. */ diff --git a/binutils/readelf.c b/binutils/readelf.c index 01fba0b20e6..5bc59e4c5e2 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -8235,8 +8235,8 @@ ia64_process_unwind (Filedata * filedata) } } else if (SECTION_NAME_VALID (unwsec) - && strneq (SECTION_NAME (unwsec), - ELF_STRING_ia64_unwind_once, len)) + && startswith (SECTION_NAME (unwsec), + ELF_STRING_ia64_unwind_once)) { /* .gnu.linkonce.ia64unw.FOO -> .gnu.linkonce.ia64unwi.FOO. */ len2 = sizeof (ELF_STRING_ia64_unwind_info_once) - 1; @@ -8245,8 +8245,8 @@ ia64_process_unwind (Filedata * filedata) i < filedata->file_header.e_shnum; ++i, ++sec) if (SECTION_NAME_VALID (sec) - && strneq (SECTION_NAME (sec), - ELF_STRING_ia64_unwind_info_once, len2) + && startswith (SECTION_NAME (sec), + ELF_STRING_ia64_unwind_info_once) && streq (SECTION_NAME (sec) + len2, suffix)) break; } @@ -8258,13 +8258,13 @@ ia64_process_unwind (Filedata * filedata) len2 = sizeof (ELF_STRING_ia64_unwind_info) - 1; suffix = ""; if (SECTION_NAME_VALID (unwsec) - && strneq (SECTION_NAME (unwsec), ELF_STRING_ia64_unwind, len)) + && startswith (SECTION_NAME (unwsec), ELF_STRING_ia64_unwind)) suffix = SECTION_NAME (unwsec) + len; for (i = 0, sec = filedata->section_headers; i < filedata->file_header.e_shnum; ++i, ++sec) if (SECTION_NAME_VALID (sec) - && strneq (SECTION_NAME (sec), ELF_STRING_ia64_unwind_info, len2) + && startswith (SECTION_NAME (sec), ELF_STRING_ia64_unwind_info) && streq (SECTION_NAME (sec) + len2, suffix)) break; } @@ -20449,7 +20449,7 @@ process_note (Elf_Internal_Note * pnote, /* NetBSD-specific core file notes. */ return process_netbsd_elf_note (pnote); - else if (strneq (pnote->namedata, "SPU/", 4)) + else if (startswith (pnote->namedata, "SPU/")) { /* SPU-specific core file notes. */ nt = pnote->namedata + 4; diff --git a/gas/ChangeLog b/gas/ChangeLog index 98918d6e5c4..b011f1cab1a 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2021-04-01 Martin Liska + + * config/obj-coff.c (strneq): Remove strneq and use startswith. + (weak_is_altname): Likewise. + (obj_coff_section): Likewise. + * config/tc-cr16.c (process_label_constant): Likewise. + * config/tc-crx.c (strneq): Likewise. + 2021-04-01 Martin Liska * as.c (select_emulation_mode): Use startswith. diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 3c008a3ef2d..f3cc3273a4b 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -33,7 +33,6 @@ #endif #define streq(a,b) (strcmp ((a), (b)) == 0) -#define strneq(a,b,n) (strncmp ((a), (b), (n)) == 0) /* I think this is probably always correct. */ #ifndef KEEP_RELOC_INFO @@ -1058,7 +1057,7 @@ obj_coff_val (int ignore ATTRIBUTE_UNUSED) static int weak_is_altname (const char * name) { - return strneq (name, weak_altprefix, sizeof (weak_altprefix) - 1); + return startswith (name, weak_altprefix); } /* Return the name of the alternate symbol @@ -1667,7 +1666,7 @@ obj_coff_section (int ignore ATTRIBUTE_UNUSED) /* Add SEC_LINK_ONCE and SEC_LINK_DUPLICATES_DISCARD to .gnu.linkonce sections so adjust_reloc_syms in write.c will correctly handle relocs which refer to non-local symbols in these sections. */ - if (strneq (name, ".gnu.linkonce", sizeof (".gnu.linkonce") - 1)) + if (startswith (name, ".gnu.linkonce")) flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD; #endif diff --git a/gas/config/tc-cr16.c b/gas/config/tc-cr16.c index 733b08e2b64..1f6b1fe8b6d 100644 --- a/gas/config/tc-cr16.c +++ b/gas/config/tc-cr16.c @@ -905,34 +905,34 @@ process_label_constant (char *str, ins * cr16_ins) cr16_ins->rtype = BFD_RELOC_NONE; relocatable = 1; - if (strneq (input_line_pointer, "@c", 2)) + if (startswith (input_line_pointer, "@c")) symbol_with_at = 1; - if (strneq (input_line_pointer, "@l", 2) - || strneq (input_line_pointer, ":l", 2)) + if (startswith (input_line_pointer, "@l") + || startswith (input_line_pointer, ":l")) symbol_with_l = 1; - if (strneq (input_line_pointer, "@m", 2) - || strneq (input_line_pointer, ":m", 2)) + if (startswith (input_line_pointer, "@m") + || startswith (input_line_pointer, ":m")) symbol_with_m = 1; - if (strneq (input_line_pointer, "@s", 2) - || strneq (input_line_pointer, ":s", 2)) + if (startswith (input_line_pointer, "@s") + || startswith (input_line_pointer, ":s")) symbol_with_s = 1; - if (strneq (input_line_pointer, "@cGOT", 5) - || strneq (input_line_pointer, "@cgot", 5)) + if (startswith (input_line_pointer, "@cGOT") + || startswith (input_line_pointer, "@cgot")) { if (GOT_symbol == NULL) GOT_symbol = symbol_find_or_make (GLOBAL_OFFSET_TABLE_NAME); symbol_with_at_gotc = 1; } - else if (strneq (input_line_pointer, "@GOT", 4) - || strneq (input_line_pointer, "@got", 4)) + else if (startswith (input_line_pointer, "@GOT") + || startswith (input_line_pointer, "@got")) { - if ((strneq (input_line_pointer, "+", 1)) - || (strneq (input_line_pointer, "-", 1))) + if ((startswith (input_line_pointer, "+")) + || (startswith (input_line_pointer, "-"))) as_warn (_("GOT bad expression with %s."), input_line_pointer); if (GOT_symbol == NULL) diff --git a/gas/config/tc-crx.c b/gas/config/tc-crx.c index a82acb5fa21..d33a0bf0766 100644 --- a/gas/config/tc-crx.c +++ b/gas/config/tc-crx.c @@ -43,7 +43,6 @@ /* Utility macros for string comparison. */ #define streq(a, b) (strcmp (a, b) == 0) -#define strneq(a, b, c) (strncmp (a, b, c) == 0) /* Assign a number NUM, shifted by SHIFT bytes, into a location pointed by index BYTE of array 'output_opcode'. */ diff --git a/include/ChangeLog b/include/ChangeLog index ab3f029674b..9eb5f0a7bed 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2021-04-01 Martin Liska + + * opcode/cr16.h (strneq): Remove strneq and use startswith. + 2021-03-31 Alan Modra * bfdlink.h: Replace bfd_boolean with bool throughout. diff --git a/include/opcode/cr16.h b/include/opcode/cr16.h index a96b3374c8a..09e27122a17 100644 --- a/include/opcode/cr16.h +++ b/include/opcode/cr16.h @@ -425,7 +425,6 @@ extern const char * cr16_no_op_insn[]; /* Utility macros for string comparison. */ #define streq(a, b) (strcmp (a, b) == 0) -#define strneq(a, b, c) (strncmp (a, b, c) == 0) /* Long long type handling. */ /* Replace all appearances of 'long long int' with LONGLONG. */ diff --git a/ld/ChangeLog b/ld/ChangeLog index d2c3c04745c..7b8e411b798 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2021-04-01 Martin Liska + + * ldbuildid.c (strneq): Remove strneq and use startswith. + (validate_build_id_style): Likewise. + (compute_build_id_size): Likewise. + 2021-03-31 Alan Modra * sysdep.h (POISON_BFD_BOOLEAN): Define. diff --git a/ld/ldbuildid.c b/ld/ldbuildid.c index c0e91bcefc9..0642ec07aa9 100644 --- a/ld/ldbuildid.c +++ b/ld/ldbuildid.c @@ -30,13 +30,12 @@ #endif #define streq(a,b) strcmp ((a), (b)) == 0 -#define strneq(a,b,n) strncmp ((a), (b), (n)) == 0 bool validate_build_id_style (const char *style) { if ((streq (style, "md5")) || (streq (style, "sha1")) - || (streq (style, "uuid")) || (strneq (style, "0x", 2))) + || (streq (style, "uuid")) || (startswith (style, "0x"))) return true; return false; @@ -51,7 +50,7 @@ compute_build_id_size (const char *style) if (streq (style, "sha1")) return 160 / 8; - if (strneq (style, "0x", 2)) + if (startswith (style, "0x")) { bfd_size_type size = 0; /* ID is in string form (hex). Count the bytes. */ @@ -156,7 +155,7 @@ generate_build_id (bfd *abfd, (size_t) size < sizeof (UUID) ? (size_t) size : sizeof (UUID)); #endif /* __MINGW32__ */ } - else if (strneq (style, "0x", 2)) + else if (startswith (style, "0x")) { /* ID is in string form (hex). Convert to bits. */ const char *id = style + 2; diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index d89e8766574..a08e57abe73 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,11 @@ +2021-04-01 Martin Liska + + * arm-dis.c (strneq): Remove strneq and use startswith. + * cr16-dis.c (print_insn_cr16): Likewise. + * score-dis.c (streq): Likewise. + (strneq): Likewise. + * score7-dis.c (strneq): Likewise. + 2021-04-01 Alan Modra PR 27675 diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 797998722cf..413091983b6 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -39,11 +39,6 @@ #include "elf/arm.h" #include "mach-o.h" -/* FIXME: Belongs in global header. */ -#ifndef strneq -#define strneq(a,b,n) (strncmp ((a), (b), (n)) == 0) -#endif - /* Cached mapping symbol state. */ enum map_type { diff --git a/opcodes/cr16-dis.c b/opcodes/cr16-dis.c index d5840cb81f8..ac855523fa9 100644 --- a/opcodes/cr16-dis.c +++ b/opcodes/cr16-dis.c @@ -800,7 +800,7 @@ print_insn_cr16 (bfd_vma memaddr, struct disassemble_info *info) /* If found, print the instruction's mnemonic and arguments. */ if (is_decoded > 0 && (cr16_words[0] != 0 || cr16_words[1] != 0)) { - if (strneq (instruction->mnemonic, "cinv", 4)) + if (startswith (instruction->mnemonic, "cinv")) info->fprintf_func (info->stream,"%s", getcinvstring (instruction->mnemonic)); else diff --git a/opcodes/score-dis.c b/opcodes/score-dis.c index c1b9227e8c2..3ec5c6a36eb 100644 --- a/opcodes/score-dis.c +++ b/opcodes/score-dis.c @@ -477,14 +477,6 @@ static struct score_opcode score_opcodes[] = }; -#ifndef streq -#define streq(a,b) (strcmp ((a), (b)) == 0) -#endif - -#ifndef strneq -#define strneq(a,b,n) (strncmp ((a), (b), (n)) == 0) -#endif - #ifndef NUM_ELEM #define NUM_ELEM(a) (sizeof (a) / sizeof (a)[0]) #endif diff --git a/opcodes/score7-dis.c b/opcodes/score7-dis.c index 53873079594..6ffc7f6fa73 100644 --- a/opcodes/score7-dis.c +++ b/opcodes/score7-dis.c @@ -37,10 +37,6 @@ #define streq(a,b) (strcmp ((a), (b)) == 0) #endif -#ifndef strneq -#define strneq(a,b,n) (strncmp ((a), (b), (n)) == 0) -#endif - #ifndef NUM_ELEM #define NUM_ELEM(a) (sizeof (a) / sizeof (a)[0]) #endif -- 2.30.2