* bfd-in.h (STRING_AND_COMMA): New macro. Takes one constant string as its

argument and emits the string followed by a comma and then the length of
  the string.
  (CONST_STRNEQ): New macro.  Checks to see if a variable string has a constant
  string as its initial characters.
  (CONST_STRNCPY): New macro.  Copies a constant string to the start of a
  variable string.
* bfd-in2.h: Regenerate.
* <remainign files>: Make use of the new macros.
This commit is contained in:
Nick Clifton 2006-09-16 18:12:17 +00:00
parent 4fa3602bd5
commit 0112cd268b
87 changed files with 791 additions and 691 deletions

View File

@ -1,3 +1,71 @@
2006-09-16 Nick Clifton <nickc@redhat.com>
Pedro Alves <pedro_alves@portugalmail.pt>
* bfd-in.h (STRING_AND_COMMA): New macro. Takes one constant
string as its argument and emits the string followed by a comma
and then the length of the string.
(CONST_STRNEQ): New macro. Checks to see if a variable string
has a constant string as its initial characters.
(CONST_STRNCPY): New macro. Copies a constant string to the start
of a variable string.
* bfd-in2.h: Regenerate.
* archive.c: Make use of the new macros.
* archive64.c: Likewise.
* bfd.c: Likewise.
* coff-ppc.c: Likewise.
* coff-stgo32.c: Likewise.
* coffcode.h: Likewise.
* cofflink.c: Likewise.
* cpu-i960.c: Likewise.
* dwarf2.c: Likewise.
* ecoff.c: Likewise.
* elf-m10300.c: Likewise.
* elf.c: Likewise.
* elf32-arm.c: Likewise.
* elf32-bfin.c: Likewise.
* elf32-cris.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-iq2000.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-m68hc11.c: Likewise.
* elf32-m68hc12.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-mcore.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-sh-symbian.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-sh64.c: Likewise.
* elf32-v850.c: Likewise.
* elf32-vax.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-mmix.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-x86-64.c: Likewise.
* elflink.c: Likewise.
* elfxx-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* hpux-core.c: Likewise.
* i386linux.c: Likewise.
* ieee.c: Likewise.
* libpei.h: Likewise.
* linker.c: Likewise.
* m68klinux.c: Likewise.
* mmo.c: Likewise.
* nlmcode.h: Likewise.
* osf-core.c: Likewise.
* pef.c: Likewise.
* som.c: Likewise.
* sparclinux.c: Likewise.
* vms-hdr.c: Likewise.
2006-09-14 Alan Modra <amodra@bigpond.net.au>
PR 3182

View File

@ -912,12 +912,12 @@ bfd_slurp_armap (bfd *abfd)
if (bfd_seek (abfd, (file_ptr) -16, SEEK_CUR) != 0)
return FALSE;
if (!strncmp (nextname, "__.SYMDEF ", 16)
|| !strncmp (nextname, "__.SYMDEF/ ", 16)) /* old Linux archives */
if (CONST_STRNEQ (nextname, "__.SYMDEF ")
|| CONST_STRNEQ (nextname, "__.SYMDEF/ ")) /* Old Linux archives. */
return do_slurp_bsd_armap (abfd);
else if (!strncmp (nextname, "/ ", 16))
else if (CONST_STRNEQ (nextname, "/ "))
return do_slurp_coff_armap (abfd);
else if (!strncmp (nextname, "/SYM64/ ", 16))
else if (CONST_STRNEQ (nextname, "/SYM64/ "))
{
/* 64bit ELF (Irix 6) archive. */
#ifdef BFD64
@ -963,11 +963,11 @@ bfd_slurp_bsd_armap_f2 (bfd *abfd)
if (bfd_seek (abfd, (file_ptr) -16, SEEK_CUR) != 0)
return FALSE;
if (!strncmp (nextname, "__.SYMDEF ", 16)
|| !strncmp (nextname, "__.SYMDEF/ ", 16)) /* Old Linux archives. */
if (CONST_STRNEQ (nextname, "__.SYMDEF ")
|| CONST_STRNEQ (nextname, "__.SYMDEF/ ")) /* Old Linux archives. */
return do_slurp_bsd_armap (abfd);
if (strncmp (nextname, "/ ", 16))
if (! CONST_STRNEQ (nextname, "/ "))
{
bfd_has_map (abfd) = FALSE;
return TRUE;
@ -1063,8 +1063,8 @@ _bfd_slurp_extended_name_table (bfd *abfd)
if (bfd_seek (abfd, (file_ptr) -16, SEEK_CUR) != 0)
return FALSE;
if (strncmp (nextname, "ARFILENAMES/ ", 16) != 0 &&
strncmp (nextname, "// ", 16) != 0)
if (! CONST_STRNEQ (nextname, "ARFILENAMES/ ")
&& ! CONST_STRNEQ (nextname, "// "))
{
bfd_ardata (abfd)->extended_names = NULL;
bfd_ardata (abfd)->extended_names_size = 0;

View File

@ -1,25 +1,25 @@
/* MIPS-specific support for 64-bit ELF
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006
Free Software Foundation, Inc.
Ian Lance Taylor, Cygnus Support
Linker support added by Mark Mitchell, CodeSourcery, LLC.
<mark@codesourcery.com>
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
/* This file supports the 64-bit (MIPS) ELF archives. */
@ -65,10 +65,10 @@ bfd_elf64_archive_slurp_armap (bfd *abfd)
return FALSE;
/* Archives with traditional armaps are still permitted. */
if (strncmp (nextname, "/ ", 16) == 0)
if (CONST_STRNEQ (nextname, "/ "))
return bfd_slurp_armap (abfd);
if (strncmp (nextname, "/SYM64/ ", 16) != 0)
if (! CONST_STRNEQ (nextname, "/SYM64/ "))
{
bfd_has_map (abfd) = FALSE;
return TRUE;

View File

@ -43,6 +43,25 @@ extern "C" {
#endif
#endif
/* This is a utility macro to handle the situation where the code
wants to place a constant string into the code, followed by a
comma and then the length of the string. Doing this by hand
is error prone, so using this macro is safer. The macro will
also safely handle the case where a NULL is passed as the arg. */
#define STRING_COMMA_LEN(STR) (STR), ((STR) ? sizeof (STR) - 1 : 0)
/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
to create the arguments to another macro, since the preprocessor
will mis-count the number of arguments to the outer macro (by not
evaluating STRING_COMMA_LEN and so missing the comma). This is a
problem for example when trying to use STRING_COMMA_LEN to build
the arguments to the strncmp() macro. Hence this alternative
definition of strncmp is provided here.
Note - these macros do NOT work if STR2 is not a constant string. */
#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0)
#define CONST_STRNCPY(STR1,STR2) strncpy ((STR1), (STR2), sizeof (STR2) - 1)
/* The word size used by BFD on the host. This may be 64 with a 32
bit target if the host is 64 bit, or if other 64 bit targets have
been selected with --enable-targets, or if --enable-64-bit-bfd. */

View File

@ -50,6 +50,25 @@ extern "C" {
#endif
#endif
/* This is a utility macro to handle the situation where the code
wants to place a constant string into the code, followed by a
comma and then the length of the string. Doing this by hand
is error prone, so using this macro is safer. The macro will
also safely handle the case where a NULL is passed as the arg. */
#define STRING_COMMA_LEN(STR) (STR), ((STR) ? sizeof (STR) - 1 : 0)
/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
to create the arguments to another macro, since the preprocessor
will mis-count the number of arguments to the outer macro (by not
evaluating STRING_COMMA_LEN and so missing the comma). This is a
problem for example when trying to use STRING_COMMA_LEN to build
the arguments to the strncmp() macro. Hence this alternative
definition of strncmp is provided here.
Note - these macros do NOT work if STR2 is not a constant string. */
#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0)
#define CONST_STRNCPY(STR1,STR2) strncpy ((STR1), (STR2), sizeof (STR2) - 1)
/* The word size used by BFD on the host. This may be 64 with a 32
bit target if the host is 64 bit, or if other 64 bit targets have
been selected with --enable-targets, or if --enable-64-bit-bfd. */

View File

@ -881,7 +881,7 @@ bfd_get_sign_extend_vma (bfd *abfd)
no place to store this information in the COFF back end.
Should enough other COFF targets add support for DWARF2,
a place will have to be found. Until then, this hack will do. */
if (strncmp (name, "coff-go32", sizeof ("coff-go32") - 1) == 0
if (CONST_STRNEQ (name, "coff-go32")
|| strcmp (name, "pe-i386") == 0
|| strcmp (name, "pei-i386") == 0
|| strcmp (name, "pe-arm-wince-little") == 0

View File

@ -1332,7 +1332,7 @@ coff_ppc_relocate_section (output_bfd, info, input_bfd, input_section,
DUMP_RELOC2 (howto->name, rel);
if (strncmp(".idata$2",input_section->name,8) == 0 && first_thunk_address == 0)
if (CONST_STRNEQ (input_section->name, ".idata$2") && first_thunk_address == 0)
{
/* Set magic values. */
int idata5offset;

View File

@ -1,5 +1,5 @@
/* BFD back-end for Intel 386 COFF files (DJGPP variant with a stub).
Copyright 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2006 Free Software Foundation, Inc.
Written by Robert Hoehne.
This file is part of BFD, the Binary File Descriptor library.
@ -354,7 +354,7 @@ create_go32_stub (abfd)
close (f);
goto stub_end;
}
if (memcmp (magic, "go32stub", 8) != 0)
if (! CONST_STRNEQ (magic, "go32stub"))
{
close (f);
goto stub_end;

View File

@ -427,7 +427,7 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
styp_flags = STYP_LIT;
#endif /* _LIT */
}
else if (!strncmp (sec_name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1))
else if (CONST_STRNEQ (sec_name, DOT_DEBUG))
{
/* Handle the XCOFF debug section and DWARF2 debug sections. */
if (!sec_name[6])
@ -435,12 +435,12 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
else
styp_flags = STYP_DEBUG_INFO;
}
else if (!strncmp (sec_name, ".stab", 5))
else if (CONST_STRNEQ (sec_name, ".stab"))
{
styp_flags = STYP_DEBUG_INFO;
}
#ifdef COFF_LONG_SECTION_NAMES
else if (!strncmp (sec_name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1))
else if (CONST_STRNEQ (sec_name, GNU_LINKONCE_WI))
{
styp_flags = STYP_DEBUG_INFO;
}
@ -529,8 +529,8 @@ sec_to_styp_flags (const char *sec_name, flagword sec_flags)
but there are more IMAGE_SCN_* flags. */
/* FIXME: There is no gas syntax to specify the debug section flag. */
if (strncmp (sec_name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1) == 0
|| strncmp (sec_name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1) == 0)
if (CONST_STRNEQ (sec_name, DOT_DEBUG)
|| CONST_STRNEQ (sec_name, GNU_LINKONCE_WI))
sec_flags = SEC_DEBUGGING;
/* skip LOAD */
@ -674,14 +674,14 @@ styp_to_sec_flags (bfd *abfd ATTRIBUTE_UNUSED,
#endif
sec_flags |= SEC_ALLOC;
}
else if (strncmp (name, DOT_DEBUG, sizeof (DOT_DEBUG) - 1) == 0
else if (CONST_STRNEQ (name, DOT_DEBUG)
#ifdef _COMMENT
|| strcmp (name, _COMMENT) == 0
#endif
#ifdef COFF_LONG_SECTION_NAMES
|| strncmp (name, GNU_LINKONCE_WI, sizeof (GNU_LINKONCE_WI) - 1) == 0
|| CONST_STRNEQ (name, GNU_LINKONCE_WI)
#endif
|| strncmp (name, ".stab", 5) == 0)
|| CONST_STRNEQ (name, ".stab"))
{
#ifdef COFF_PAGE_SIZE
sec_flags |= SEC_DEBUGGING;
@ -715,7 +715,7 @@ styp_to_sec_flags (bfd *abfd ATTRIBUTE_UNUSED,
The symbols will be defined as weak, so that multiple definitions
are permitted. The GNU linker extension is to actually discard
all but one of the sections. */
if (strncmp (name, ".gnu.linkonce", sizeof ".gnu.linkonce" - 1) == 0)
if (CONST_STRNEQ (name, ".gnu.linkonce"))
sec_flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
#endif
@ -1071,7 +1071,7 @@ styp_to_sec_flags (bfd *abfd,
/* The MS PE spec sets the DISCARDABLE flag on .reloc sections
but we do not want them to be labelled as debug section, since
then strip would remove them. */
if (strncmp (name, ".reloc", sizeof ".reloc" - 1) != 0)
if (! CONST_STRNEQ (name, ".reloc"))
sec_flags |= SEC_DEBUGGING;
break;
case IMAGE_SCN_MEM_SHARED:
@ -1126,7 +1126,7 @@ styp_to_sec_flags (bfd *abfd,
The symbols will be defined as weak, so that multiple definitions
are permitted. The GNU linker extension is to actually discard
all but one of the sections. */
if (strncmp (name, ".gnu.linkonce", sizeof ".gnu.linkonce" - 1) == 0)
if (CONST_STRNEQ (name, ".gnu.linkonce"))
sec_flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
#endif

View File

@ -232,7 +232,7 @@ coff_link_check_ar_symbols (bfd *abfd,
/* Auto import. */
if (!h
&& info->pei386_auto_import
&& !strncmp (name,"__imp_", 6))
&& CONST_STRNEQ (name, "__imp_"))
h = bfd_link_hash_lookup (info->hash, name + 6, FALSE, FALSE, TRUE);
/* We are only interested in symbols that are currently
@ -439,7 +439,7 @@ coff_link_add_symbols (bfd *abfd,
|| classification == COFF_SYMBOL_PE_SECTION)
&& coff_section_data (abfd, section) != NULL
&& coff_section_data (abfd, section)->comdat != NULL
&& strncmp (name, "??_", 3) == 0
&& CONST_STRNEQ (name, "??_")
&& strcmp (name, coff_section_data (abfd, section)->comdat->name) == 0)
{
if (*sym_hash == NULL)
@ -583,7 +583,7 @@ coff_link_add_symbols (bfd *abfd,
asection *stab;
for (stab = abfd->sections; stab; stab = stab->next)
if (strncmp (".stab", stab->name, 5) == 0
if (CONST_STRNEQ (".stab", stab->name)
&& (!stab->name[5]
|| (stab->name[5] == '.' && ISDIGIT (stab->name[6]))))
{
@ -1232,7 +1232,7 @@ process_embedded_commands (bfd *output_bfd,
s++;
continue;
}
if (strncmp (s, "-attr", 5) == 0)
if (CONST_STRNEQ (s, "-attr"))
{
char *name;
char *attribs;
@ -1272,11 +1272,11 @@ process_embedded_commands (bfd *output_bfd,
asec->flags |= SEC_READONLY;
}
}
else if (strncmp (s,"-heap", 5) == 0)
s = dores_com (s+5, output_bfd, 1);
else if (CONST_STRNEQ (s, "-heap"))
s = dores_com (s + 5, output_bfd, 1);
else if (strncmp (s,"-stack", 6) == 0)
s = dores_com (s+6, output_bfd, 0);
else if (CONST_STRNEQ (s, "-stack"))
s = dores_com (s + 6, output_bfd, 0);
else
s++;

View File

@ -1,23 +1,23 @@
/* BFD library support routines for the i960 architecture.
Copyright 1990, 1991, 1993, 1994, 1996, 1999, 2000, 2001, 2002
Copyright 1990, 1991, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2006
Free Software Foundation, Inc.
Hacked by Steve Chamberlain of Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#include "bfd.h"
#include "sysdep.h"
@ -57,7 +57,7 @@ scan_960_mach (ap, string)
}
/* In some bfds the cpu-id is written as "80960KA", "80960KB",
"80960CA" or "80960MC". */
else if (strncmp ("80960", string, 5) == 0)
else if (CONST_STRNEQ (string, "80960"))
{
string += 5;

View File

@ -2181,7 +2181,7 @@ find_debug_info (bfd *abfd, asection *after_sec)
if (strcmp (msec->name, DWARF2_DEBUG_INFO) == 0)
return msec;
if (strncmp (msec->name, GNU_LINKONCE_INFO, strlen (GNU_LINKONCE_INFO)) == 0)
if (CONST_STRNEQ (msec->name, GNU_LINKONCE_INFO))
return msec;
msec = msec->next;

View File

@ -2861,7 +2861,7 @@ _bfd_ecoff_slurp_armap (bfd *abfd)
bfd_slurp_armap, but that seems inappropriate since no other
target uses this format. Instead, we check directly for a COFF
armap. */
if (strneq (nextname, "/ ", 16))
if (CONST_STRNEQ (nextname, "/ "))
return bfd_slurp_armap (abfd);
/* See if the first element is an armap. */

View File

@ -2,21 +2,21 @@
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
#include "bfd.h"
#include "sysdep.h"
@ -886,7 +886,7 @@ mn10300_elf_check_relocs (abfd, info, sec, relocs)
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
@ -1036,7 +1036,7 @@ mn10300_elf_final_link_relocate (howto, input_bfd, output_bfd,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);
@ -4310,7 +4310,7 @@ _bfd_mn10300_elf_size_dynamic_sections (output_bfd, info)
/* Remember whether there is a PLT. */
plt = s->size != 0;
}
else if (strncmp (name, ".rela", 5) == 0)
else if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -4343,7 +4343,7 @@ _bfd_mn10300_elf_size_dynamic_sections (output_bfd, info)
s->reloc_count = 0;
}
}
else if (strncmp (name, ".got", 4) != 0
else if (! CONST_STRNEQ (name, ".got")
&& strcmp (name, ".dynbss") != 0)
/* It's not one of our sections, so don't allocate space. */
continue;

136
bfd/elf.c
View File

@ -816,22 +816,22 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
int len;
} debug_sections [] =
{
{ "debug", 5 }, /* 'd' */
{ STRING_COMMA_LEN ("debug") }, /* 'd' */
{ NULL, 0 }, /* 'e' */
{ NULL, 0 }, /* 'f' */
{ "gnu.linkonce.wi.", 16 }, /* 'g' */
{ STRING_COMMA_LEN ("gnu.linkonce.wi.") }, /* 'g' */
{ NULL, 0 }, /* 'h' */
{ NULL, 0 }, /* 'i' */
{ NULL, 0 }, /* 'j' */
{ NULL, 0 }, /* 'k' */
{ "line", 4 }, /* 'l' */
{ STRING_COMMA_LEN ("line") }, /* 'l' */
{ NULL, 0 }, /* 'm' */
{ NULL, 0 }, /* 'n' */
{ NULL, 0 }, /* 'o' */
{ NULL, 0 }, /* 'p' */
{ NULL, 0 }, /* 'q' */
{ NULL, 0 }, /* 'r' */
{ "stab", 4 } /* 's' */
{ STRING_COMMA_LEN ("stab") } /* 's' */
};
if (name [0] == '.')
@ -852,7 +852,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
The symbols will be defined as weak, so that multiple definitions
are permitted. The GNU linker extension is to actually discard
all but one of the sections. */
if (strncmp (name, ".gnu.linkonce", sizeof ".gnu.linkonce" - 1) == 0
if (CONST_STRNEQ (name, ".gnu.linkonce")
&& elf_next_in_group (newsect) == NULL)
flags |= SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD;
@ -2281,109 +2281,109 @@ bfd_section_from_elf_index (bfd *abfd, unsigned int index)
static const struct bfd_elf_special_section special_sections_b[] =
{
{ ".bss", 4, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".bss"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_c[] =
{
{ ".comment", 8, 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".comment"), 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_d[] =
{
{ ".data", 5, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".data1", 6, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".debug", 6, 0, SHT_PROGBITS, 0 },
{ ".debug_line", 11, 0, SHT_PROGBITS, 0 },
{ ".debug_info", 11, 0, SHT_PROGBITS, 0 },
{ ".debug_abbrev", 13, 0, SHT_PROGBITS, 0 },
{ ".debug_aranges", 14, 0, SHT_PROGBITS, 0 },
{ ".dynamic", 8, 0, SHT_DYNAMIC, SHF_ALLOC },
{ ".dynstr", 7, 0, SHT_STRTAB, SHF_ALLOC },
{ ".dynsym", 7, 0, SHT_DYNSYM, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".data"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".data1"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".debug"), 0, SHT_PROGBITS, 0 },
{ STRING_COMMA_LEN (".debug_line"), 0, SHT_PROGBITS, 0 },
{ STRING_COMMA_LEN (".debug_info"), 0, SHT_PROGBITS, 0 },
{ STRING_COMMA_LEN (".debug_abbrev"), 0, SHT_PROGBITS, 0 },
{ STRING_COMMA_LEN (".debug_aranges"), 0, SHT_PROGBITS, 0 },
{ STRING_COMMA_LEN (".dynamic"), 0, SHT_DYNAMIC, SHF_ALLOC },
{ STRING_COMMA_LEN (".dynstr"), 0, SHT_STRTAB, SHF_ALLOC },
{ STRING_COMMA_LEN (".dynsym"), 0, SHT_DYNSYM, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_f[] =
{
{ ".fini", 5, 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ ".fini_array", 11, 0, SHT_FINI_ARRAY, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".fini"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ STRING_COMMA_LEN (".fini_array"), 0, SHT_FINI_ARRAY, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_g[] =
{
{ ".gnu.linkonce.b",15, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ ".got", 4, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".gnu.version", 12, 0, SHT_GNU_versym, 0 },
{ ".gnu.version_d", 14, 0, SHT_GNU_verdef, 0 },
{ ".gnu.version_r", 14, 0, SHT_GNU_verneed, 0 },
{ ".gnu.liblist", 12, 0, SHT_GNU_LIBLIST, SHF_ALLOC },
{ ".gnu.conflict", 13, 0, SHT_RELA, SHF_ALLOC },
{ ".gnu.hash", 9, 0, SHT_GNU_HASH, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".gnu.linkonce.b"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".got"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".gnu.version"), 0, SHT_GNU_versym, 0 },
{ STRING_COMMA_LEN (".gnu.version_d"), 0, SHT_GNU_verdef, 0 },
{ STRING_COMMA_LEN (".gnu.version_r"), 0, SHT_GNU_verneed, 0 },
{ STRING_COMMA_LEN (".gnu.liblist"), 0, SHT_GNU_LIBLIST, SHF_ALLOC },
{ STRING_COMMA_LEN (".gnu.conflict"), 0, SHT_RELA, SHF_ALLOC },
{ STRING_COMMA_LEN (".gnu.hash"), 0, SHT_GNU_HASH, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_h[] =
{
{ ".hash", 5, 0, SHT_HASH, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".hash"), 0, SHT_HASH, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_i[] =
{
{ ".init", 5, 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ ".init_array", 11, 0, SHT_INIT_ARRAY, SHF_ALLOC + SHF_WRITE },
{ ".interp", 7, 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".init"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ STRING_COMMA_LEN (".init_array"), 0, SHT_INIT_ARRAY, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".interp"), 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_l[] =
{
{ ".line", 5, 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".line"), 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_n[] =
{
{ ".note.GNU-stack",15, 0, SHT_PROGBITS, 0 },
{ ".note", 5, -1, SHT_NOTE, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".note.GNU-stack"), 0, SHT_PROGBITS, 0 },
{ STRING_COMMA_LEN (".note"), -1, SHT_NOTE, 0 },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_p[] =
{
{ ".preinit_array", 14, 0, SHT_PREINIT_ARRAY, SHF_ALLOC + SHF_WRITE },
{ ".plt", 4, 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".preinit_array"), 0, SHT_PREINIT_ARRAY, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".plt"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_r[] =
{
{ ".rodata", 7, -2, SHT_PROGBITS, SHF_ALLOC },
{ ".rodata1", 8, 0, SHT_PROGBITS, SHF_ALLOC },
{ ".rela", 5, -1, SHT_RELA, 0 },
{ ".rel", 4, -1, SHT_REL, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".rodata"), -2, SHT_PROGBITS, SHF_ALLOC },
{ STRING_COMMA_LEN (".rodata1"), 0, SHT_PROGBITS, SHF_ALLOC },
{ STRING_COMMA_LEN (".rela"), -1, SHT_RELA, 0 },
{ STRING_COMMA_LEN (".rel"), -1, SHT_REL, 0 },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_s[] =
{
{ ".shstrtab", 9, 0, SHT_STRTAB, 0 },
{ ".strtab", 7, 0, SHT_STRTAB, 0 },
{ ".symtab", 7, 0, SHT_SYMTAB, 0 },
{ ".stabstr", 5, 3, SHT_STRTAB, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".shstrtab"), 0, SHT_STRTAB, 0 },
{ STRING_COMMA_LEN (".strtab"), 0, SHT_STRTAB, 0 },
{ STRING_COMMA_LEN (".symtab"), 0, SHT_SYMTAB, 0 },
{ STRING_COMMA_LEN (".stabstr"), 3, SHT_STRTAB, 0 },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section special_sections_t[] =
{
{ ".text", 5, -2, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ ".tbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_TLS },
{ ".tdata", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_TLS },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".text"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ STRING_COMMA_LEN (".tbss"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_TLS },
{ STRING_COMMA_LEN (".tdata"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_TLS },
{ NULL, 0, 0, 0, 0 }
};
static const struct bfd_elf_special_section *special_sections[] =
@ -3238,7 +3238,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
string section. We look for a section with the same name
but without the trailing ``str'', and set its sh_link
field to point to this section. */
if (strncmp (sec->name, ".stab", sizeof ".stab" - 1) == 0
if (CONST_STRNEQ (sec->name, ".stab")
&& strcmp (sec->name + strlen (sec->name) - 3, "str") == 0)
{
size_t len;
@ -3646,7 +3646,7 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
for (s = abfd->sections; s != NULL; s = s->next)
{
if ((s->flags & SEC_LOAD) != 0
&& strncmp (s->name, ".note", 5) == 0)
&& CONST_STRNEQ (s->name, ".note"))
{
/* We need a PT_NOTE segment. */
++segs;
@ -4028,7 +4028,7 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
for (s = abfd->sections; s != NULL; s = s->next)
{
if ((s->flags & SEC_LOAD) != 0
&& strncmp (s->name, ".note", 5) == 0)
&& CONST_STRNEQ (s->name, ".note"))
{
amt = sizeof (struct elf_segment_map);
m = bfd_zalloc (abfd, amt);
@ -8291,12 +8291,12 @@ elfcore_read_notes (bfd *abfd, file_ptr offset, bfd_size_type size)
in.descdata = in.namedata + BFD_ALIGN (in.namesz, 4);
in.descpos = offset + (in.descdata - buf);
if (strncmp (in.namedata, "NetBSD-CORE", 11) == 0)
if (CONST_STRNEQ (in.namedata, "NetBSD-CORE"))
{
if (! elfcore_grok_netbsd_note (abfd, &in))
goto error;
}
else if (strncmp (in.namedata, "QNX", 3) == 0)
else if (CONST_STRNEQ (in.namedata, "QNX"))
{
if (! elfcore_grok_nto_note (abfd, &in))
goto error;
@ -8675,10 +8675,8 @@ bfd_elf_match_symbols_in_sections (asection *sec1, asection *sec2)
/* If both are .gnu.linkonce sections, they have to have the same
section name. */
if (strncmp (sec1->name, ".gnu.linkonce",
sizeof ".gnu.linkonce" - 1) == 0
&& strncmp (sec2->name, ".gnu.linkonce",
sizeof ".gnu.linkonce" - 1) == 0)
if (CONST_STRNEQ (sec1->name, ".gnu.linkonce")
&& CONST_STRNEQ (sec2->name, ".gnu.linkonce"))
return strcmp (sec1->name + sizeof ".gnu.linkonce",
sec2->name + sizeof ".gnu.linkonce") == 0;

View File

@ -2221,9 +2221,9 @@ reloc_section_p (struct elf32_arm_link_hash_table *htab,
const char *name, asection *s)
{
if (htab->use_rel)
return strncmp (name, ".rel", 4) == 0 && strcmp (s->name, name + 4) == 0;
return CONST_STRNEQ (name, ".rel") && strcmp (s->name, name + 4) == 0;
else
return strncmp (name, ".rela", 5) == 0 && strcmp (s->name, name + 5) == 0;
return CONST_STRNEQ (name, ".rela") && strcmp (s->name, name + 5) == 0;
}
/* Create .got, .gotplt, and .rel(a).got sections in DYNOBJ, and set up
@ -7938,7 +7938,7 @@ elf32_arm_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
/* Remember whether there is a PLT. */
plt = s->size != 0;
}
else if (strncmp (name, ".rel", 4) == 0)
else if (CONST_STRNEQ (name, ".rel"))
{
if (s->size != 0)
{
@ -7952,7 +7952,7 @@ elf32_arm_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
s->reloc_count = 0;
}
}
else if (strncmp (name, ".got", 4) != 0
else if (! CONST_STRNEQ (name, ".got")
&& strcmp (name, ".dynbss") != 0)
{
/* It's not one of our sections, so don't allocate space. */
@ -8680,12 +8680,8 @@ elf32_arm_final_write_processing (bfd *abfd, bfd_boolean linker ATTRIBUTE_UNUSED
static bfd_boolean
is_arm_elf_unwind_section_name (bfd * abfd ATTRIBUTE_UNUSED, const char * name)
{
size_t len1, len2;
len1 = sizeof (ELF_STRING_ARM_unwind) - 1;
len2 = sizeof (ELF_STRING_ARM_unwind_once) - 1;
return (strncmp (name, ELF_STRING_ARM_unwind, len1) == 0
|| strncmp (name, ELF_STRING_ARM_unwind_once, len2) == 0);
return (CONST_STRNEQ (name, ELF_STRING_ARM_unwind)
|| CONST_STRNEQ (name, ELF_STRING_ARM_unwind_once));
}
@ -9656,18 +9652,18 @@ elf32_arm_symbian_special_sections[] =
the loadable read-only segment. The post-linker may wish to
refer to these sections, but they are not part of the final
program image. */
{ ".dynamic", 8, 0, SHT_DYNAMIC, 0 },
{ ".dynstr", 7, 0, SHT_STRTAB, 0 },
{ ".dynsym", 7, 0, SHT_DYNSYM, 0 },
{ ".got", 4, 0, SHT_PROGBITS, 0 },
{ ".hash", 5, 0, SHT_HASH, 0 },
{ STRING_COMMA_LEN (".dynamic"), 0, SHT_DYNAMIC, 0 },
{ STRING_COMMA_LEN (".dynstr"), 0, SHT_STRTAB, 0 },
{ STRING_COMMA_LEN (".dynsym"), 0, SHT_DYNSYM, 0 },
{ STRING_COMMA_LEN (".got"), 0, SHT_PROGBITS, 0 },
{ STRING_COMMA_LEN (".hash"), 0, SHT_HASH, 0 },
/* These sections do not need to be writable as the SymbianOS
postlinker will arrange things so that no dynamic relocation is
required. */
{ ".init_array", 11, 0, SHT_INIT_ARRAY, SHF_ALLOC },
{ ".fini_array", 11, 0, SHT_FINI_ARRAY, SHF_ALLOC },
{ ".preinit_array", 14, 0, SHT_PREINIT_ARRAY, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".init_array"), 0, SHT_INIT_ARRAY, SHF_ALLOC },
{ STRING_COMMA_LEN (".fini_array"), 0, SHT_FINI_ARRAY, SHF_ALLOC },
{ STRING_COMMA_LEN (".preinit_array"), 0, SHT_PREINIT_ARRAY, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
};
static void

View File

@ -5292,7 +5292,7 @@ bfin_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
strip = FALSE;
if (strncmp (name, ".rela", 5) == 0)
if (CONST_STRNEQ (name, ".rela"))
{
if (s->size == 0)
{
@ -5316,7 +5316,7 @@ bfin_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
s->reloc_count = 0;
}
}
else if (strncmp (name, ".got", 4) != 0)
else if (! CONST_STRNEQ (name, ".got"))
{
/* It's not one of our sections, so don't allocate space. */
continue;

View File

@ -1388,7 +1388,7 @@ cris_elf_relocate_section (output_bfd, info, input_bfd, input_section,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);
@ -2799,7 +2799,7 @@ cris_elf_check_relocs (abfd, info, sec, relocs)
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
@ -2962,7 +2962,7 @@ elf_cris_size_dynamic_sections (output_bfd, info)
/* Remember whether there is a PLT. */
plt = s->size != 0;
}
else if (strncmp (name, ".rela", 5) == 0)
else if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -2976,7 +2976,7 @@ elf_cris_size_dynamic_sections (output_bfd, info)
s->reloc_count = 0;
}
}
else if (strncmp (name, ".got", 4) != 0
else if (! CONST_STRNEQ (name, ".got")
&& strcmp (name, ".dynbss") != 0)
{
/* It's not one of our sections, so don't allocate space. */

View File

@ -2442,7 +2442,7 @@ elf32_hppa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
else if (sec == htab->sgot
|| sec == htab->sdynbss)
;
else if (strncmp (bfd_get_section_name (dynobj, sec), ".rela", 5) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, sec), ".rela"))
{
if (sec->size != 0)
{

View File

@ -655,7 +655,7 @@ i370_elf_size_dynamic_sections (bfd *output_bfd,
/* Remember whether there is a PLT. */
plt = s->size != 0;
}
else if (strncmp (name, ".rela", 5) == 0)
else if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -867,7 +867,7 @@ i370_elf_check_relocs (bfd *abfd,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec), name + 5) == 0);
sreloc = bfd_get_section_by_name (dynobj, name);
@ -1236,7 +1236,7 @@ i370_elf_relocate_section (bfd *output_bfd,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);

View File

@ -1177,7 +1177,7 @@ elf_i386_check_relocs (bfd *abfd,
if (name == NULL)
return FALSE;
if (strncmp (name, ".rel", 4) != 0
if (! CONST_STRNEQ (name, ".rel")
|| strcmp (bfd_get_section_name (abfd, sec),
name + 4) != 0)
{
@ -2029,7 +2029,7 @@ elf_i386_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
if (htab->elf.hplt != NULL)
strip_section = FALSE;
}
else if (strncmp (bfd_get_section_name (dynobj, s), ".rel", 4) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rel"))
{
if (s->size != 0 && s != htab->srelplt && s != htab->srelplt2)
relocs = TRUE;

View File

@ -1,5 +1,5 @@
/* IQ2000-specific support for 32-bit ELF.
Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@ -452,9 +452,9 @@ iq2000_elf_check_relocs (bfd *abfd,
case R_IQ2000_32:
/* For debug section, change to special harvard-aware relocations. */
if (memcmp (sec->name, ".debug", 6) == 0
|| memcmp (sec->name, ".stab", 5) == 0
|| memcmp (sec->name, ".eh_frame", 9) == 0)
if (CONST_STRNEQ (sec->name, ".debug")
|| CONST_STRNEQ (sec->name, ".stab")
|| CONST_STRNEQ (sec->name, ".eh_frame"))
{
((Elf_Internal_Rela *) rel)->r_info
= ELF32_R_INFO (ELF32_R_SYM (rel->r_info), R_IQ2000_32_DEBUG);

View File

@ -2309,7 +2309,7 @@ m32r_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
/* Strip this section if we don't need it; see the
comment below. */
}
else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
{
if (s->size != 0 && s != htab->srelplt)
relocs = TRUE;
@ -2933,7 +2933,7 @@ m32r_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);
@ -3990,7 +3990,7 @@ m32r_elf_check_relocs (bfd *abfd,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
@ -4082,9 +4082,9 @@ m32r_elf_check_relocs (bfd *abfd,
static const struct bfd_elf_special_section m32r_elf_special_sections[] =
{
{ ".sbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ ".sdata", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".sbss"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".sdata"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
};
static bfd_boolean

View File

@ -1,5 +1,5 @@
/* Motorola 68HC11-specific support for 32-bit ELF
Copyright 1999, 2000, 2001, 2002, 2003, 2004
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2006
Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
(Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
@ -1259,11 +1259,11 @@ m68hc11_elf_relax_delete_bytes (bfd *abfd, asection *sec,
vectors. */
static const struct bfd_elf_special_section elf32_m68hc11_special_sections[] =
{
{ ".eeprom", 7, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".page0", 6, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".softregs", 9, 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ ".vectors", 8, 0, SHT_PROGBITS, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".eeprom"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".page0"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".softregs"), 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".vectors"), 0, SHT_PROGBITS, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
};
#define ELF_ARCH bfd_arch_m68hc11

View File

@ -1,5 +1,5 @@
/* Motorola 68HC12-specific support for 32-bit ELF
Copyright 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
Copyright 1999, 2000, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
(Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
@ -537,11 +537,11 @@ m68hc12_elf_set_mach_from_flags (bfd *abfd)
vectors. */
static const struct bfd_elf_special_section elf32_m68hc12_special_sections[] =
{
{ ".eeprom", 7, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".page0", 6, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".softregs", 9, 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ ".vectors", 8, 0, SHT_PROGBITS, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".eeprom"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".page0"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".softregs"), 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".vectors"), 0, SHT_PROGBITS, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
};
#define ELF_ARCH bfd_arch_m68hc12

View File

@ -864,7 +864,7 @@ elf_m68k_check_relocs (abfd, info, sec, relocs)
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
@ -1402,7 +1402,7 @@ elf_m68k_size_dynamic_sections (output_bfd, info)
/* Remember whether there is a PLT. */
plt = s->size != 0;
}
else if (strncmp (name, ".rela", 5) == 0)
else if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -1413,7 +1413,7 @@ elf_m68k_size_dynamic_sections (output_bfd, info)
s->reloc_count = 0;
}
}
else if (strncmp (name, ".got", 4) != 0
else if (! CONST_STRNEQ (name, ".got")
&& strcmp (name, ".dynbss") != 0)
{
/* It's not one of our sections, so don't allocate space. */

View File

@ -1,5 +1,5 @@
/* Motorola MCore specific support for 32-bit ELF
Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@ -637,9 +637,9 @@ mcore_elf_check_relocs (bfd * abfd,
static const struct bfd_elf_special_section mcore_elf_special_sections[]=
{
{ ".ctors", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".dtors", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".ctors"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".dtors"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
};
#define TARGET_BIG_SYM bfd_elf32_mcore_big_vec

View File

@ -1896,21 +1896,21 @@ ppc_elf_additional_program_headers (bfd *abfd,
static const struct bfd_elf_special_section ppc_elf_special_sections[] =
{
{ ".plt", 4, 0, SHT_NOBITS, SHF_ALLOC + SHF_EXECINSTR },
{ ".sbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ ".sbss2", 6, -2, SHT_PROGBITS, SHF_ALLOC },
{ ".sdata", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".sdata2", 7, -2, SHT_PROGBITS, SHF_ALLOC },
{ ".tags", 5, 0, SHT_ORDERED, SHF_ALLOC },
{ ".PPC.EMB.apuinfo", 16, 0, SHT_NOTE, 0 },
{ ".PPC.EMB.sbss0", 14, 0, SHT_PROGBITS, SHF_ALLOC },
{ ".PPC.EMB.sdata0", 15, 0, SHT_PROGBITS, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".plt"), 0, SHT_NOBITS, SHF_ALLOC + SHF_EXECINSTR },
{ STRING_COMMA_LEN (".sbss"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".sbss2"), -2, SHT_PROGBITS, SHF_ALLOC },
{ STRING_COMMA_LEN (".sdata"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".sdata2"), -2, SHT_PROGBITS, SHF_ALLOC },
{ STRING_COMMA_LEN (".tags"), 0, SHT_ORDERED, SHF_ALLOC },
{ STRING_COMMA_LEN (".PPC.EMB.apuinfo"), 0, SHT_NOTE, 0 },
{ STRING_COMMA_LEN (".PPC.EMB.sbss0"), 0, SHT_PROGBITS, SHF_ALLOC },
{ STRING_COMMA_LEN (".PPC.EMB.sdata0"), 0, SHT_PROGBITS, SHF_ALLOC },
{ NULL, 0, 0, 0, 0 }
};
/* This is what we want for new plt/got. */
static struct bfd_elf_special_section ppc_alt_plt =
{ ".plt", 4, 0, SHT_PROGBITS, SHF_ALLOC };
{ STRING_COMMA_LEN (".plt"), 0, SHT_PROGBITS, SHF_ALLOC };
static const struct bfd_elf_special_section *
ppc_elf_get_sec_type_attr (bfd *abfd ATTRIBUTE_UNUSED, asection *sec)
@ -3436,7 +3436,7 @@ ppc_elf_check_relocs (bfd *abfd,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
@ -4864,7 +4864,7 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
{
/* Strip these too. */
}
else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
{
if (s->size != 0)
{
@ -6242,7 +6242,7 @@ ppc_elf_relocate_section (bfd *output_bfd,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);
@ -6445,9 +6445,9 @@ ppc_elf_relocate_section (bfd *output_bfd,
BFD_ASSERT (sec != NULL);
name = bfd_get_section_name (abfd, sec->output_section);
if (! ((strncmp (name, ".sdata", 6) == 0
if (! ((CONST_STRNEQ (name, ".sdata")
&& (name[6] == 0 || name[6] == '.'))
|| (strncmp (name, ".sbss", 5) == 0
|| (CONST_STRNEQ (name, ".sbss")
&& (name[5] == 0 || name[5] == '.'))))
{
(*_bfd_error_handler)
@ -6473,8 +6473,8 @@ ppc_elf_relocate_section (bfd *output_bfd,
BFD_ASSERT (sec != NULL);
name = bfd_get_section_name (abfd, sec->output_section);
if (! (strncmp (name, ".sdata2", 7) == 0
|| strncmp (name, ".sbss2", 6) == 0))
if (! (CONST_STRNEQ (name, ".sdata2")
|| CONST_STRNEQ (name, ".sbss2")))
{
(*_bfd_error_handler)
(_("%B: the target (%s) of a %s relocation is "
@ -6505,9 +6505,9 @@ ppc_elf_relocate_section (bfd *output_bfd,
BFD_ASSERT (sec != NULL);
name = bfd_get_section_name (abfd, sec->output_section);
if (((strncmp (name, ".sdata", 6) == 0
if (((CONST_STRNEQ (name, ".sdata")
&& (name[6] == 0 || name[6] == '.'))
|| (strncmp (name, ".sbss", 5) == 0
|| (CONST_STRNEQ (name, ".sbss")
&& (name[5] == 0 || name[5] == '.'))))
{
reg = 13;
@ -6517,8 +6517,8 @@ ppc_elf_relocate_section (bfd *output_bfd,
+ sh->root.u.def.section->output_section->vma);
}
else if (strncmp (name, ".sdata2", 7) == 0
|| strncmp (name, ".sbss2", 6) == 0)
else if (CONST_STRNEQ (name, ".sdata2")
|| CONST_STRNEQ (name, ".sbss2"))
{
reg = 2;
sh = htab->sdata[1].sym;

View File

@ -1273,7 +1273,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
if (name == NULL)
return FALSE;
if (strncmp (name, ".rela", 5) != 0
if (! CONST_STRNEQ (name, ".rela")
|| strcmp (bfd_get_section_name (abfd, sec),
name + 5) != 0)
{
@ -2126,7 +2126,7 @@ elf_s390_size_dynamic_sections (output_bfd, info)
/* Strip this section if we don't need it; see the
comment below. */
}
else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
{
if (s->size != 0)
relocs = TRUE;

View File

@ -1,5 +1,5 @@
/* Renesas / SuperH specific support for Symbian 32-bit ELF files
Copyright 2004, 2005
Copyright 2004, 2005, 2006
Free Software Foundation, Inc.
Contributed by Red Hat
@ -225,7 +225,7 @@ sh_symbian_process_embedded_commands (struct bfd_link_info *info, bfd * abfd,
break;
case 'I':
if (strncmp (s, DIRECTIVE_IMPORT, strlen (DIRECTIVE_IMPORT)))
if (! CONST_STRNEQ (s, DIRECTIVE_IMPORT))
result = FALSE;
else
{
@ -261,9 +261,9 @@ sh_symbian_process_embedded_commands (struct bfd_link_info *info, bfd * abfd,
name_end_char = * new_name_end;
* new_name_end = 0;
/* Check to see if 'AS '... is present. If se we have an IMPORT AS
directive, otherwise we have an IMPORT directive. */
if (strncmp (s, DIRECTIVE_AS, strlen (DIRECTIVE_AS)))
/* Check to see if 'AS '... is present. If so we have an
IMPORT AS directive, otherwise we have an IMPORT directive. */
if (! CONST_STRNEQ (s, DIRECTIVE_AS))
{
/* Skip the new-line at the end of the name. */
if (SYMBIAN_DEBUG && name_end_char != '\n')
@ -327,7 +327,7 @@ sh_symbian_process_embedded_commands (struct bfd_link_info *info, bfd * abfd,
break;
case 'E':
if (strncmp (s, DIRECTIVE_EXPORT, strlen (DIRECTIVE_EXPORT)))
if (! CONST_STRNEQ (s, DIRECTIVE_EXPORT))
result = FALSE;
else
{

View File

@ -3042,7 +3042,7 @@ sh_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
/* Strip this section if we don't need it; see the
comment below. */
}
else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
{
if (s->size != 0 && s != htab->srelplt && s != htab->srelplt2)
relocs = TRUE;
@ -3585,7 +3585,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);
@ -4311,7 +4311,7 @@ sh_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);
@ -5200,7 +5200,7 @@ sh_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);

View File

@ -759,8 +759,8 @@ sh64_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
static const struct bfd_elf_special_section sh64_elf_special_sections[] =
{
{ ".cranges", 8, 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".cranges"), 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
};
#undef TARGET_BIG_SYM

View File

@ -3028,33 +3028,32 @@ v850_elf_relax_section (bfd *abfd,
static const struct bfd_elf_special_section v850_elf_special_sections[] =
{
{ ".call_table_data", 16, 0, SHT_PROGBITS, (SHF_ALLOC
+ SHF_WRITE) },
{ ".call_table_text", 16, 0, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_EXECINSTR) },
{ ".rosdata", 8, -2, SHT_PROGBITS, (SHF_ALLOC
+ SHF_V850_GPREL) },
{ ".rozdata", 8, -2, SHT_PROGBITS, (SHF_ALLOC
+ SHF_V850_R0REL) },
{ ".sbss", 5, -2, SHT_NOBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_GPREL) },
{ ".scommon", 8, -2, SHT_V850_SCOMMON, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_GPREL) },
{ ".sdata", 6, -2, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_GPREL) },
{ ".tbss", 5, -2, SHT_NOBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_EPREL) },
{ ".tcommon", 8, -2, SHT_V850_TCOMMON, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_R0REL) },
{ ".tdata", 6, -2, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_EPREL) },
{ ".zbss", 5, -2, SHT_NOBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_R0REL) },
{ ".zcommon", 8, -2, SHT_V850_ZCOMMON, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_R0REL) },
{ ".zdata", 6, -2, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_R0REL) },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".call_table_data"), 0, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE) },
{ STRING_COMMA_LEN (".call_table_text"), 0, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_EXECINSTR) },
{ STRING_COMMA_LEN (".rosdata"), -2, SHT_PROGBITS, (SHF_ALLOC
+ SHF_V850_GPREL) },
{ STRING_COMMA_LEN (".rozdata"), -2, SHT_PROGBITS, (SHF_ALLOC
+ SHF_V850_R0REL) },
{ STRING_COMMA_LEN (".sbss"), -2, SHT_NOBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_GPREL) },
{ STRING_COMMA_LEN (".scommon"), -2, SHT_V850_SCOMMON, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_GPREL) },
{ STRING_COMMA_LEN (".sdata"), -2, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_GPREL) },
{ STRING_COMMA_LEN (".tbss"), -2, SHT_NOBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_EPREL) },
{ STRING_COMMA_LEN (".tcommon"), -2, SHT_V850_TCOMMON, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_R0REL) },
{ STRING_COMMA_LEN (".tdata"), -2, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_EPREL) },
{ STRING_COMMA_LEN (".zbss"), -2, SHT_NOBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_R0REL) },
{ STRING_COMMA_LEN (".zcommon"), -2, SHT_V850_ZCOMMON, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_R0REL) },
{ STRING_COMMA_LEN (".zdata"), -2, SHT_PROGBITS, (SHF_ALLOC + SHF_WRITE
+ SHF_V850_R0REL) },
{ NULL, 0, 0, 0, 0 }
};
#define TARGET_LITTLE_SYM bfd_elf32_v850_vec

View File

@ -738,7 +738,7 @@ elf_vax_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
@ -1194,7 +1194,7 @@ elf_vax_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
/* Remember whether there is a PLT. */
plt = s->size != 0;
}
else if (strncmp (name, ".rela", 5) == 0)
else if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -1226,7 +1226,7 @@ elf_vax_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
s->reloc_count = 0;
}
}
else if (strncmp (name, ".got", 4) != 0
else if (! CONST_STRNEQ (name, ".got")
&& strcmp (name, ".dynbss") != 0)
{
/* It's not one of our sections, so don't allocate space. */
@ -1646,7 +1646,7 @@ elf_vax_relocate_section (bfd *output_bfd,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);

View File

@ -1409,7 +1409,7 @@ elf_xtensa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
of the dynobj section names depend upon the input files. */
name = bfd_get_section_name (dynobj, s);
if (strncmp (name, ".rela", 5) == 0)
if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -1423,8 +1423,8 @@ elf_xtensa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
s->reloc_count = 0;
}
}
else if (strncmp (name, ".plt.", 5) != 0
&& strncmp (name, ".got.plt.", 9) != 0
else if (! CONST_STRNEQ (name, ".plt.")
&& ! CONST_STRNEQ (name, ".got.plt.")
&& strcmp (name, ".got") != 0
&& strcmp (name, ".plt") != 0
&& strcmp (name, ".got.plt") != 0
@ -8854,10 +8854,8 @@ relax_property_section (bfd *abfd,
}
is_full_prop_section =
((strncmp (sec->name, XTENSA_PROP_SEC_NAME,
sizeof (XTENSA_PROP_SEC_NAME) - 1) == 0)
|| (strncmp (sec->name, ".gnu.linkonce.prop.",
sizeof ".gnu.linkonce.prop." - 1) == 0));
( CONST_STRNEQ (sec->name, XTENSA_PROP_SEC_NAME)
|| CONST_STRNEQ (sec->name, ".gnu.linkonce.prop."));
if (internal_relocs)
{
@ -9518,23 +9516,19 @@ pcrel_reloc_fits (xtensa_opcode opc,
static int linkonce_len = sizeof (".gnu.linkonce.") - 1;
static int insn_sec_len = sizeof (XTENSA_INSN_SEC_NAME) - 1;
static int lit_sec_len = sizeof (XTENSA_LIT_SEC_NAME) - 1;
static int prop_sec_len = sizeof (XTENSA_PROP_SEC_NAME) - 1;
static bfd_boolean
xtensa_is_property_section (asection *sec)
{
if (strncmp (XTENSA_INSN_SEC_NAME, sec->name, insn_sec_len) == 0
|| strncmp (XTENSA_LIT_SEC_NAME, sec->name, lit_sec_len) == 0
|| strncmp (XTENSA_PROP_SEC_NAME, sec->name, prop_sec_len) == 0)
if (CONST_STRNEQ (sec->name, XTENSA_INSN_SEC_NAME)
|| CONST_STRNEQ (sec->name, XTENSA_LIT_SEC_NAME)
|| CONST_STRNEQ (sec->name, XTENSA_PROP_SEC_NAME))
return TRUE;
if (strncmp (".gnu.linkonce.", sec->name, linkonce_len) == 0
&& (strncmp (&sec->name[linkonce_len], "x.", 2) == 0
|| strncmp (&sec->name[linkonce_len], "p.", 2) == 0
|| strncmp (&sec->name[linkonce_len], "prop.", 5) == 0))
&& (CONST_STRNEQ (&sec->name[linkonce_len], "x.")
|| CONST_STRNEQ (&sec->name[linkonce_len], "p.")
|| CONST_STRNEQ (&sec->name[linkonce_len], "prop.")))
return TRUE;
return FALSE;
@ -9544,7 +9538,7 @@ xtensa_is_property_section (asection *sec)
static bfd_boolean
xtensa_is_littable_section (asection *sec)
{
if (strncmp (XTENSA_LIT_SEC_NAME, sec->name, lit_sec_len) == 0)
if (CONST_STRNEQ (sec->name, XTENSA_LIT_SEC_NAME))
return TRUE;
if (strncmp (".gnu.linkonce.", sec->name, linkonce_len) == 0
@ -9646,7 +9640,7 @@ xtensa_get_property_section (asection *sec, const char *base_name)
suffix = sec->name + linkonce_len;
/* For backward compatibility, replace "t." instead of inserting
the new linkonce_kind (but not for "prop" sections). */
if (strncmp (suffix, "t.", 2) == 0 && linkonce_kind[1] == '.')
if (CONST_STRNEQ (suffix, "t.") && linkonce_kind[1] == '.')
suffix += 2;
strcat (prop_sec_name + linkonce_len, suffix);
}
@ -9680,10 +9674,8 @@ xtensa_get_property_section (asection *sec, const char *base_name)
flagword
xtensa_get_property_predef_flags (asection *sec)
{
if (strncmp (sec->name, XTENSA_INSN_SEC_NAME,
sizeof (XTENSA_INSN_SEC_NAME) - 1) == 0
|| strncmp (sec->name, ".gnu.linkonce.x.",
sizeof ".gnu.linkonce.x." - 1) == 0)
if (CONST_STRNEQ (sec->name, XTENSA_INSN_SEC_NAME)
|| CONST_STRNEQ (sec->name, ".gnu.linkonce.x."))
return (XTENSA_PROP_INSN
| XTENSA_PROP_INSN_NO_TRANSFORM
| XTENSA_PROP_INSN_NO_REORDER);
@ -9717,7 +9709,7 @@ xtensa_callback_required_dependence (bfd *abfd,
/* ".plt*" sections have no explicit relocations but they contain L32R
instructions that reference the corresponding ".got.plt*" sections. */
if ((sec->flags & SEC_LINKER_CREATED) != 0
&& strncmp (sec->name, ".plt", 4) == 0)
&& CONST_STRNEQ (sec->name, ".plt"))
{
asection *sgotplt;
@ -9794,10 +9786,10 @@ xtensa_callback_required_dependence (bfd *abfd,
module loader so that the literals are not placed after the text. */
static const struct bfd_elf_special_section elf_xtensa_special_sections[] =
{
{ ".fini.literal", 13, 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ ".init.literal", 13, 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ ".literal", 8, 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".fini.literal"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ STRING_COMMA_LEN (".init.literal"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ STRING_COMMA_LEN (".literal"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
{ NULL, 0, 0, 0, 0 }
};
#ifndef ELF_ARCH

View File

@ -1901,7 +1901,7 @@ elf64_alpha_check_relocs (bfd *abfd, struct bfd_link_info *info,
if (rel_sec_name == NULL)
return FALSE;
BFD_ASSERT (strncmp (rel_sec_name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (rel_sec_name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
rel_sec_name+5) == 0);
}
@ -2761,7 +2761,7 @@ elf64_alpha_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
of the dynobj section names depend upon the input files. */
name = bfd_get_section_name (dynobj, s);
if (strncmp (name, ".rela", 5) == 0)
if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -2773,7 +2773,7 @@ elf64_alpha_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
s->reloc_count = 0;
}
}
else if (strncmp (name, ".got", 4) != 0
else if (! CONST_STRNEQ (name, ".got")
&& strcmp (name, ".plt") != 0
&& strcmp (name, ".dynbss") != 0)
{
@ -5148,9 +5148,9 @@ elf64_alpha_reloc_type_class (const Elf_Internal_Rela *rela)
static const struct bfd_elf_special_section elf64_alpha_special_sections[] =
{
{ ".sbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_ALPHA_GPREL },
{ ".sdata", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_ALPHA_GPREL },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".sbss"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_ALPHA_GPREL },
{ STRING_COMMA_LEN (".sdata"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_ALPHA_GPREL },
{ NULL, 0, 0, 0, 0 }
};
/* ECOFF swapping routines. These are used when dealing with the

View File

@ -517,12 +517,12 @@ get_reloc_section (abfd, hppa_info, sec)
if (srel_name == NULL)
return FALSE;
BFD_ASSERT ((strncmp (srel_name, ".rela", 5) == 0
BFD_ASSERT ((CONST_STRNEQ (srel_name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
srel_name+5) == 0)
|| (strncmp (srel_name, ".rel", 4) == 0
srel_name + 5) == 0)
|| (CONST_STRNEQ (srel_name, ".rel")
&& strcmp (bfd_get_section_name (abfd, sec),
srel_name+4) == 0));
srel_name + 4) == 0));
dynobj = hppa_info->root.dynobj;
if (!dynobj)
@ -1713,13 +1713,13 @@ elf64_hppa_size_dynamic_sections (output_bfd, info)
plt = s->size != 0;
}
else if (strcmp (name, ".opd") == 0
|| strncmp (name, ".dlt", 4) == 0
|| CONST_STRNEQ (name, ".dlt")
|| strcmp (name, ".stub") == 0
|| strcmp (name, ".got") == 0)
{
/* Strip this section if we don't need it; see the comment below. */
}
else if (strncmp (name, ".rela", 5) == 0)
else if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -2752,14 +2752,14 @@ elf64_hppa_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int index,
static const struct bfd_elf_special_section elf64_hppa_special_sections[] =
{
{ ".fini", 5, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".init", 5, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".plt", 4, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_PARISC_SHORT },
{ ".dlt", 4, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_PARISC_SHORT },
{ ".sdata", 6, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_PARISC_SHORT },
{ ".sbss", 5, 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_PARISC_SHORT },
{ ".tbss", 5, 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_HP_TLS },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".fini"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".init"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".plt"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_PARISC_SHORT },
{ STRING_COMMA_LEN (".dlt"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_PARISC_SHORT },
{ STRING_COMMA_LEN (".sdata"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_PARISC_SHORT },
{ STRING_COMMA_LEN (".sbss"), 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_PARISC_SHORT },
{ STRING_COMMA_LEN (".tbss"), 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_HP_TLS },
{ NULL, 0, 0, 0, 0 }
};
/* The hash bucket size is the standard one, namely 4. */

View File

@ -2193,8 +2193,7 @@ mmix_elf_add_symbol_hook (abfd, info, sym, namep, flagsp, secp, valp)
(*secp)->flags |= SEC_LINKER_CREATED;
}
else if ((*namep)[0] == '_' && (*namep)[1] == '_' && (*namep)[2] == '.'
&& strncmp (*namep, MMIX_LOC_SECTION_START_SYMBOL_PREFIX,
strlen (MMIX_LOC_SECTION_START_SYMBOL_PREFIX)) == 0)
&& CONST_STRNEQ (*namep, MMIX_LOC_SECTION_START_SYMBOL_PREFIX))
{
/* See if we have another one. */
struct bfd_link_hash_entry *h = bfd_link_hash_lookup (info->hash,

View File

@ -2520,13 +2520,13 @@ ppc64_elf_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
static const struct bfd_elf_special_section ppc64_elf_special_sections[]=
{
{ ".plt", 4, 0, SHT_NOBITS, 0 },
{ ".sbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ ".sdata", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".toc", 4, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".toc1", 5, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".tocbss", 7, 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".plt"), 0, SHT_NOBITS, 0 },
{ STRING_COMMA_LEN (".sbss"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".sdata"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".toc"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".toc1"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ STRING_COMMA_LEN (".tocbss"), 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ NULL, 0, 0, 0, 0 }
};
struct _ppc64_elf_section_data
@ -4575,7 +4575,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
|| h == &htab->tls_get_addr_fd->elf)
sec->has_tls_reloc = 1;
else if (htab->tls_get_addr == NULL
&& !strncmp (h->root.root.string, ".__tls_get_addr", 15)
&& CONST_STRNEQ (h->root.root.string, ".__tls_get_addr")
&& (h->root.root.string[15] == 0
|| h->root.root.string[15] == '@'))
{
@ -4583,7 +4583,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
sec->has_tls_reloc = 1;
}
else if (htab->tls_get_addr_fd == NULL
&& !strncmp (h->root.root.string, "__tls_get_addr", 14)
&& CONST_STRNEQ (h->root.root.string, "__tls_get_addr")
&& (h->root.root.string[14] == 0
|| h->root.root.string[14] == '@'))
{
@ -4776,7 +4776,7 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
if (name == NULL)
return FALSE;
if (strncmp (name, ".rela", 5) != 0
if (! CONST_STRNEQ (name, ".rela")
|| strcmp (bfd_get_section_name (abfd, sec),
name + 5) != 0)
{
@ -7913,7 +7913,7 @@ ppc64_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
/* Strip this section if we don't need it; see the
comment below. */
}
else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
{
if (s->size != 0)
{

View File

@ -1238,7 +1238,7 @@ elf_s390_check_relocs (abfd, info, sec, relocs)
if (name == NULL)
return FALSE;
if (strncmp (name, ".rela", 5) != 0
if (! CONST_STRNEQ (name, ".rela")
|| strcmp (bfd_get_section_name (abfd, sec),
name + 5) != 0)
{
@ -2098,7 +2098,7 @@ elf_s390_size_dynamic_sections (output_bfd, info)
/* Strip this section if we don't need it; see the
comment below. */
}
else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
{
if (s->size != 0 && s != htab->srelplt)
relocs = TRUE;

View File

@ -1709,7 +1709,7 @@ sh_elf64_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (input_bfd,
input_section),
name + 5) == 0);
@ -2731,7 +2731,7 @@ sh_elf64_check_relocs (bfd *abfd, struct bfd_link_info *info,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
@ -3591,7 +3591,7 @@ sh64_elf64_size_dynamic_sections (bfd *output_bfd,
/* Remember whether there is a PLT. */
plt = s->size != 0;
}
else if (strncmp (name, ".rela", 5) == 0)
else if (CONST_STRNEQ (name, ".rela"))
{
if (s->size != 0)
{
@ -3624,7 +3624,7 @@ sh64_elf64_size_dynamic_sections (bfd *output_bfd,
s->reloc_count = 0;
}
}
else if (strncmp (name, ".got", 4) != 0
else if (! CONST_STRNEQ (name, ".got")
&& strcmp (name, ".dynbss") != 0)
{
/* It's not one of our sections, so don't allocate space. */
@ -4070,8 +4070,8 @@ sh64_elf64_merge_symbol_attribute (struct elf_link_hash_entry *h,
static const struct bfd_elf_special_section sh64_elf64_special_sections[]=
{
{ ".cranges", 8, 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".cranges"), 0, SHT_PROGBITS, 0 },
{ NULL, 0, 0, 0, 0 }
};
#define TARGET_BIG_SYM bfd_elf64_sh64_vec

View File

@ -1025,7 +1025,7 @@ elf64_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
if (name == NULL)
return FALSE;
if (strncmp (name, ".rela", 5) != 0
if (! CONST_STRNEQ (name, ".rela")
|| strcmp (bfd_get_section_name (abfd, sec),
name + 5) != 0)
{
@ -1883,7 +1883,7 @@ elf64_x86_64_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
/* Strip this section if we don't need it; see the
comment below. */
}
else if (strncmp (bfd_get_section_name (dynobj, s), ".rela", 5) == 0)
else if (CONST_STRNEQ (bfd_get_section_name (dynobj, s), ".rela"))
{
if (s->size != 0 && s != htab->srelplt)
relocs = TRUE;
@ -3636,13 +3636,13 @@ elf64_x86_64_hash_symbol (struct elf_link_hash_entry *h)
static const struct bfd_elf_special_section
elf64_x86_64_special_sections[]=
{
{ ".gnu.linkonce.lb", 16, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_X86_64_LARGE},
{ ".gnu.linkonce.lr", 16, -2, SHT_PROGBITS, SHF_ALLOC + SHF_X86_64_LARGE},
{ ".gnu.linkonce.lt", 16, -2, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR + SHF_X86_64_LARGE},
{ ".lbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_X86_64_LARGE},
{ ".ldata", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_X86_64_LARGE},
{ ".lrodata", 8, -2, SHT_PROGBITS, SHF_ALLOC + SHF_X86_64_LARGE},
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".gnu.linkonce.lb"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_X86_64_LARGE},
{ STRING_COMMA_LEN (".gnu.linkonce.lr"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_X86_64_LARGE},
{ STRING_COMMA_LEN (".gnu.linkonce.lt"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR + SHF_X86_64_LARGE},
{ STRING_COMMA_LEN (".lbss"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_X86_64_LARGE},
{ STRING_COMMA_LEN (".ldata"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_X86_64_LARGE},
{ STRING_COMMA_LEN (".lrodata"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_X86_64_LARGE},
{ NULL, 0, 0, 0, 0 }
};
#define TARGET_LITTLE_SYM bfd_elf64_x86_64_vec

View File

@ -3204,7 +3204,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
const char *name;
name = bfd_get_section_name (abfd, s);
if (strncmp (name, ".gnu.warning.", sizeof ".gnu.warning." - 1) == 0)
if (CONST_STRNEQ (name, ".gnu.warning."))
{
char *msg;
bfd_size_type sz;
@ -4552,7 +4552,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
asection *stab;
for (stab = abfd->sections; stab; stab = stab->next)
if (strncmp (".stab", stab->name, 5) == 0
if (CONST_STRNEQ (stab->name, ".stab")
&& (!stab->name[5] ||
(stab->name[5] == '.' && ISDIGIT (stab->name[6])))
&& (stab->flags & SEC_MERGE) == 0
@ -9694,7 +9694,7 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
for (o = sub->sections; o != NULL; o = o->next)
if (!o->gc_mark && o->gc_mark_from_eh && (o->flags & SEC_CODE) == 0)
{
if (strncmp (o->name, ".gcc_except_table.", 18) == 0)
if (CONST_STRNEQ (o->name, ".gcc_except_table."))
{
unsigned long len;
char *fn_name;
@ -9704,7 +9704,7 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
fn_name = bfd_malloc (len + 6);
if (fn_name == NULL)
return FALSE;
memcpy (fn_name, ".text.", 6);
memcpy (fn_name, STRING_COMMA_LEN (".text."));
memcpy (fn_name + 6, o->name + 18, len);
fn_text = bfd_get_section_by_name (sub, fn_name);
free (fn_name);
@ -10224,7 +10224,7 @@ _bfd_elf_section_already_linked (bfd *abfd, struct bfd_section * sec)
name = bfd_get_section_name (abfd, sec);
if (strncmp (name, ".gnu.linkonce.", sizeof (".gnu.linkonce.") - 1) == 0
if (CONST_STRNEQ (name, ".gnu.linkonce.")
&& (p = strchr (name + sizeof (".gnu.linkonce.") - 1, '.')) != NULL)
p++;
else

View File

@ -1424,22 +1424,15 @@ elfNN_ia64_relax_ldxmov (contents, off)
/* Return TRUE if NAME is an unwind table section name. */
static inline bfd_boolean
is_unwind_section_name (abfd, name)
bfd *abfd;
const char *name;
is_unwind_section_name (bfd *abfd, const char *name)
{
size_t len1, len2, len3;
if (elfNN_ia64_hpux_vec (abfd->xvec)
&& !strcmp (name, ELF_STRING_ia64_unwind_hdr))
return FALSE;
len1 = sizeof (ELF_STRING_ia64_unwind) - 1;
len2 = sizeof (ELF_STRING_ia64_unwind_info) - 1;
len3 = sizeof (ELF_STRING_ia64_unwind_once) - 1;
return ((strncmp (name, ELF_STRING_ia64_unwind, len1) == 0
&& strncmp (name, ELF_STRING_ia64_unwind_info, len2) != 0)
|| strncmp (name, ELF_STRING_ia64_unwind_once, len3) == 0);
return ((CONST_STRNEQ (name, ELF_STRING_ia64_unwind)
&& ! CONST_STRNEQ (name, ELF_STRING_ia64_unwind_info))
|| CONST_STRNEQ (name, ELF_STRING_ia64_unwind_once));
}
/* Handle an IA-64 specific section when reading an object file. This
@ -2621,10 +2614,10 @@ get_reloc_section (abfd, ia64_info, sec, create)
if (srel_name == NULL)
return NULL;
BFD_ASSERT ((strncmp (srel_name, ".rela", 5) == 0
BFD_ASSERT ((CONST_STRNEQ (srel_name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
srel_name+5) == 0)
|| (strncmp (srel_name, ".rel", 4) == 0
|| (CONST_STRNEQ (srel_name, ".rel")
&& strcmp (bfd_get_section_name (abfd, sec),
srel_name+4) == 0));
@ -3702,7 +3695,7 @@ elfNN_ia64_size_dynamic_sections (output_bfd, info)
if (strcmp (name, ".got.plt") == 0)
strip = FALSE;
else if (strncmp (name, ".rel", 4) == 0)
else if (CONST_STRNEQ (name, ".rel"))
{
if (!strip)
{
@ -5569,9 +5562,9 @@ elfNN_ia64_reloc_type_class (rela)
static const struct bfd_elf_special_section elfNN_ia64_special_sections[] =
{
{ ".sbss", 5, -1, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_IA_64_SHORT },
{ ".sdata", 6, -1, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_IA_64_SHORT },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".sbss"), -1, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_IA_64_SHORT },
{ STRING_COMMA_LEN (".sdata"), -1, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_IA_64_SHORT },
{ NULL, 0, 0, 0, 0 }
};
static bfd_boolean
@ -5598,7 +5591,7 @@ elfNN_ia64_object_p (bfd *abfd)
if (elf_sec_group (sec) == NULL
&& ((sec->flags & (SEC_LINK_ONCE | SEC_CODE | SEC_GROUP))
== (SEC_LINK_ONCE | SEC_CODE))
&& strncmp (sec->name, ".gnu.linkonce.t.", 16) == 0)
&& CONST_STRNEQ (sec->name, ".gnu.linkonce.t."))
{
name = sec->name + 16;

View File

@ -4098,8 +4098,8 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
sec = NULL;
for (o = input_bfd->sections; o != NULL; o = o->next)
{
if (strncmp (bfd_get_section_name (input_bfd, o),
CALL_FP_STUB, sizeof CALL_FP_STUB - 1) == 0)
if (CONST_STRNEQ (bfd_get_section_name (input_bfd, o),
CALL_FP_STUB))
{
sec = h->call_fp_stub;
break;
@ -4690,9 +4690,9 @@ mips_elf_stub_section_p (bfd *abfd ATTRIBUTE_UNUSED, asection *section)
{
const char *name = bfd_get_section_name (abfd, section);
return (strncmp (name, FN_STUB, sizeof FN_STUB - 1) == 0
|| strncmp (name, CALL_STUB, sizeof CALL_STUB - 1) == 0
|| strncmp (name, CALL_FP_STUB, sizeof CALL_FP_STUB - 1) == 0);
return (CONST_STRNEQ (name, FN_STUB)
|| CONST_STRNEQ (name, CALL_STUB)
|| CONST_STRNEQ (name, CALL_FP_STUB));
}
/* Add room for N relocations to the .rel(a).dyn section in ABFD. */
@ -5407,7 +5407,7 @@ _bfd_mips_elf_section_from_shdr (bfd *abfd,
return FALSE;
break;
case SHT_MIPS_GPTAB:
if (strncmp (name, ".gptab.", sizeof ".gptab." - 1) != 0)
if (! CONST_STRNEQ (name, ".gptab."))
return FALSE;
break;
case SHT_MIPS_UCODE:
@ -5430,7 +5430,7 @@ _bfd_mips_elf_section_from_shdr (bfd *abfd,
return FALSE;
break;
case SHT_MIPS_CONTENT:
if (strncmp (name, ".MIPS.content", sizeof ".MIPS.content" - 1) != 0)
if (! CONST_STRNEQ (name, ".MIPS.content"))
return FALSE;
break;
case SHT_MIPS_OPTIONS:
@ -5438,7 +5438,7 @@ _bfd_mips_elf_section_from_shdr (bfd *abfd,
return FALSE;
break;
case SHT_MIPS_DWARF:
if (strncmp (name, ".debug_", sizeof ".debug_" - 1) != 0)
if (! CONST_STRNEQ (name, ".debug_"))
return FALSE;
break;
case SHT_MIPS_SYMBOL_LIB:
@ -5446,9 +5446,8 @@ _bfd_mips_elf_section_from_shdr (bfd *abfd,
return FALSE;
break;
case SHT_MIPS_EVENTS:
if (strncmp (name, ".MIPS.events", sizeof ".MIPS.events" - 1) != 0
&& strncmp (name, ".MIPS.post_rel",
sizeof ".MIPS.post_rel" - 1) != 0)
if (! CONST_STRNEQ (name, ".MIPS.events")
&& ! CONST_STRNEQ (name, ".MIPS.post_rel"))
return FALSE;
break;
default:
@ -5568,7 +5567,7 @@ _bfd_mips_elf_fake_sections (bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec)
}
else if (strcmp (name, ".conflict") == 0)
hdr->sh_type = SHT_MIPS_CONFLICT;
else if (strncmp (name, ".gptab.", sizeof ".gptab." - 1) == 0)
else if (CONST_STRNEQ (name, ".gptab."))
{
hdr->sh_type = SHT_MIPS_GPTAB;
hdr->sh_entsize = sizeof (Elf32_External_gptab);
@ -5625,7 +5624,7 @@ _bfd_mips_elf_fake_sections (bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec)
hdr->sh_type = SHT_MIPS_IFACE;
hdr->sh_flags |= SHF_MIPS_NOSTRIP;
}
else if (strncmp (name, ".MIPS.content", strlen (".MIPS.content")) == 0)
else if (CONST_STRNEQ (name, ".MIPS.content"))
{
hdr->sh_type = SHT_MIPS_CONTENT;
hdr->sh_flags |= SHF_MIPS_NOSTRIP;
@ -5637,7 +5636,7 @@ _bfd_mips_elf_fake_sections (bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec)
hdr->sh_entsize = 1;
hdr->sh_flags |= SHF_MIPS_NOSTRIP;
}
else if (strncmp (name, ".debug_", sizeof ".debug_" - 1) == 0)
else if (CONST_STRNEQ (name, ".debug_"))
hdr->sh_type = SHT_MIPS_DWARF;
else if (strcmp (name, ".MIPS.symlib") == 0)
{
@ -5645,9 +5644,8 @@ _bfd_mips_elf_fake_sections (bfd *abfd, Elf_Internal_Shdr *hdr, asection *sec)
/* The sh_link and sh_info fields are set in
final_write_processing. */
}
else if (strncmp (name, ".MIPS.events", sizeof ".MIPS.events" - 1) == 0
|| strncmp (name, ".MIPS.post_rel",
sizeof ".MIPS.post_rel" - 1) == 0)
else if (CONST_STRNEQ (name, ".MIPS.events")
|| CONST_STRNEQ (name, ".MIPS.post_rel"))
{
hdr->sh_type = SHT_MIPS_EVENTS;
hdr->sh_flags |= SHF_MIPS_NOSTRIP;
@ -6118,7 +6116,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* Check for the mips16 stub sections. */
name = bfd_get_section_name (abfd, sec);
if (strncmp (name, FN_STUB, sizeof FN_STUB - 1) == 0)
if (CONST_STRNEQ (name, FN_STUB))
{
unsigned long r_symndx;
@ -6143,12 +6141,9 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* We can ignore stub sections when looking for relocs. */
if ((o->flags & SEC_RELOC) == 0
|| o->reloc_count == 0
|| strncmp (bfd_get_section_name (abfd, o), FN_STUB,
sizeof FN_STUB - 1) == 0
|| strncmp (bfd_get_section_name (abfd, o), CALL_STUB,
sizeof CALL_STUB - 1) == 0
|| strncmp (bfd_get_section_name (abfd, o), CALL_FP_STUB,
sizeof CALL_FP_STUB - 1) == 0)
|| CONST_STRNEQ (bfd_get_section_name (abfd, o), FN_STUB)
|| CONST_STRNEQ (bfd_get_section_name (abfd, o), CALL_STUB)
|| CONST_STRNEQ (bfd_get_section_name (abfd, o), CALL_FP_STUB))
continue;
sec_relocs
@ -6224,8 +6219,8 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
mips_elf_hash_table (info)->mips16_stubs_seen = TRUE;
}
}
else if (strncmp (name, CALL_STUB, sizeof CALL_STUB - 1) == 0
|| strncmp (name, CALL_FP_STUB, sizeof CALL_FP_STUB - 1) == 0)
else if (CONST_STRNEQ (name, CALL_STUB)
|| CONST_STRNEQ (name, CALL_FP_STUB))
{
unsigned long r_symndx;
struct mips_elf_link_hash_entry *h;
@ -6254,7 +6249,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
/* H is the symbol this stub is for. */
if (strncmp (name, CALL_FP_STUB, sizeof CALL_FP_STUB - 1) == 0)
if (CONST_STRNEQ (name, CALL_FP_STUB))
loc = &h->call_fp_stub;
else
loc = &h->call_stub;
@ -6639,12 +6634,9 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
References from a stub section do not count. */
if (h != NULL
&& r_type != R_MIPS16_26
&& strncmp (bfd_get_section_name (abfd, sec), FN_STUB,
sizeof FN_STUB - 1) != 0
&& strncmp (bfd_get_section_name (abfd, sec), CALL_STUB,
sizeof CALL_STUB - 1) != 0
&& strncmp (bfd_get_section_name (abfd, sec), CALL_FP_STUB,
sizeof CALL_FP_STUB - 1) != 0)
&& ! CONST_STRNEQ (bfd_get_section_name (abfd, sec), FN_STUB)
&& ! CONST_STRNEQ (bfd_get_section_name (abfd, sec), CALL_STUB)
&& ! CONST_STRNEQ (bfd_get_section_name (abfd, sec), CALL_FP_STUB))
{
struct mips_elf_link_hash_entry *mh;
@ -7292,7 +7284,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
if ((s->flags & SEC_LINKER_CREATED) == 0)
continue;
if (strncmp (name, ".rel", 4) == 0)
if (CONST_STRNEQ (name, ".rel"))
{
if (s->size != 0)
{
@ -7344,7 +7336,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
mips_elf_allocate_dynamic_relocations (dynobj, info, count);
}
}
else if (!htab->is_vxworks && strncmp (name, ".got", 4) == 0)
else if (!htab->is_vxworks && CONST_STRNEQ (name, ".got"))
{
/* _bfd_mips_elf_always_size_sections() has already done
most of the work, but some symbols may have been mapped
@ -7420,16 +7412,16 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
}
else if (! info->shared
&& ! mips_elf_hash_table (info)->use_rld_obj_head
&& strncmp (name, ".rld_map", 8) == 0)
&& CONST_STRNEQ (name, ".rld_map"))
{
/* We add a room for __rld_map. It will be filled in by the
rtld to contain a pointer to the _r_debug structure. */
s->size += 4;
}
else if (SGI_COMPAT (output_bfd)
&& strncmp (name, ".compact_rel", 12) == 0)
&& CONST_STRNEQ (name, ".compact_rel"))
s->size += mips_elf_hash_table (info)->compact_rel_size;
else if (strncmp (name, ".init", 5) != 0
else if (! CONST_STRNEQ (name, ".init")
&& s != htab->sgotplt
&& s != htab->splt)
{
@ -9089,7 +9081,7 @@ _bfd_mips_elf_final_write_processing (bfd *abfd,
BFD_ASSERT ((*hdrpp)->bfd_section != NULL);
name = bfd_get_section_name (abfd, (*hdrpp)->bfd_section);
BFD_ASSERT (name != NULL
&& strncmp (name, ".gptab.", sizeof ".gptab." - 1) == 0);
&& CONST_STRNEQ (name, ".gptab."));
sec = bfd_get_section_by_name (abfd, name + sizeof ".gptab" - 1);
BFD_ASSERT (sec != NULL);
(*hdrpp)->sh_info = elf_section_data (sec)->this_idx;
@ -9099,8 +9091,7 @@ _bfd_mips_elf_final_write_processing (bfd *abfd,
BFD_ASSERT ((*hdrpp)->bfd_section != NULL);
name = bfd_get_section_name (abfd, (*hdrpp)->bfd_section);
BFD_ASSERT (name != NULL
&& strncmp (name, ".MIPS.content",
sizeof ".MIPS.content" - 1) == 0);
&& CONST_STRNEQ (name, ".MIPS.content"));
sec = bfd_get_section_by_name (abfd,
name + sizeof ".MIPS.content" - 1);
BFD_ASSERT (sec != NULL);
@ -9120,13 +9111,12 @@ _bfd_mips_elf_final_write_processing (bfd *abfd,
BFD_ASSERT ((*hdrpp)->bfd_section != NULL);
name = bfd_get_section_name (abfd, (*hdrpp)->bfd_section);
BFD_ASSERT (name != NULL);
if (strncmp (name, ".MIPS.events", sizeof ".MIPS.events" - 1) == 0)
if (CONST_STRNEQ (name, ".MIPS.events"))
sec = bfd_get_section_by_name (abfd,
name + sizeof ".MIPS.events" - 1);
else
{
BFD_ASSERT (strncmp (name, ".MIPS.post_rel",
sizeof ".MIPS.post_rel" - 1) == 0);
BFD_ASSERT (CONST_STRNEQ (name, ".MIPS.post_rel"));
sec = bfd_get_section_by_name (abfd,
(name
+ sizeof ".MIPS.post_rel" - 1));
@ -10435,7 +10425,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info)
mdebug_sec = o;
}
if (strncmp (o->name, ".gptab.", sizeof ".gptab." - 1) == 0)
if (CONST_STRNEQ (o->name, ".gptab."))
{
const char *subname;
unsigned int c;
@ -11106,13 +11096,13 @@ _bfd_mips_elf_print_private_bfd_data (bfd *abfd, void *ptr)
const struct bfd_elf_special_section _bfd_mips_elf_special_sections[] =
{
{ ".lit4", 5, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_MIPS_GPREL },
{ ".lit8", 5, 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_MIPS_GPREL },
{ ".mdebug", 7, 0, SHT_MIPS_DEBUG, 0 },
{ ".sbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_MIPS_GPREL },
{ ".sdata", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_MIPS_GPREL },
{ ".ucode", 6, 0, SHT_MIPS_UCODE, 0 },
{ NULL, 0, 0, 0, 0 }
{ STRING_COMMA_LEN (".lit4"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_MIPS_GPREL },
{ STRING_COMMA_LEN (".lit8"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_MIPS_GPREL },
{ STRING_COMMA_LEN (".mdebug"), 0, SHT_MIPS_DEBUG, 0 },
{ STRING_COMMA_LEN (".sbss"), -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE + SHF_MIPS_GPREL },
{ STRING_COMMA_LEN (".sdata"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE + SHF_MIPS_GPREL },
{ STRING_COMMA_LEN (".ucode"), 0, SHT_MIPS_UCODE, 0 },
{ NULL, 0, 0, 0, 0 }
};
/* Merge non visibility st_other attributes. Ensure that the

View File

@ -1430,7 +1430,7 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
if (name == NULL)
return FALSE;
BFD_ASSERT (strncmp (name, ".rela", 5) == 0
BFD_ASSERT (CONST_STRNEQ (name, ".rela")
&& strcmp (bfd_get_section_name (abfd, sec),
name + 5) == 0);
@ -2290,7 +2290,7 @@ _bfd_sparc_elf_size_dynamic_sections (bfd *output_bfd,
/* Strip this section if we don't need it; see the
comment below. */
}
else if (strncmp (s->name, ".rela", 5) == 0)
else if (CONST_STRNEQ (s->name, ".rela"))
{
if (s->size != 0)
{

View File

@ -144,7 +144,7 @@ thread_section_p (bfd *abfd ATTRIBUTE_UNUSED,
asection *sect,
void *obj ATTRIBUTE_UNUSED)
{
return (strncmp (sect->name, ".reg/", 5) == 0);
return CONST_STRNEQ (sect->name, ".reg/");
}
/* this function builds a bfd target if the file is a corefile.

View File

@ -93,8 +93,7 @@ i386linux_write_object_contents (abfd)
#define GOT_REF_PREFIX "__GOT_"
#endif
#define IS_GOT_SYM(name) \
(strncmp (name, GOT_REF_PREFIX, sizeof GOT_REF_PREFIX - 1) == 0)
#define IS_GOT_SYM(name) (CONST_STRNEQ (name, GOT_REF_PREFIX))
/* See if a symbol name is a reference to the procedure linkage table. */
@ -102,8 +101,7 @@ i386linux_write_object_contents (abfd)
#define PLT_REF_PREFIX "__PLT_"
#endif
#define IS_PLT_SYM(name) \
(strncmp (name, PLT_REF_PREFIX, sizeof PLT_REF_PREFIX - 1) == 0)
#define IS_PLT_SYM(name) (CONST_STRNEQ (name, PLT_REF_PREFIX))
/* This string is used to generate specialized error messages. */
@ -441,8 +439,7 @@ linux_tally_symbols (h, data)
h = (struct linux_link_hash_entry *) h->root.root.u.i.link;
if (h->root.root.type == bfd_link_hash_undefined
&& strncmp (h->root.root.root.string, NEEDS_SHRLIB,
sizeof NEEDS_SHRLIB - 1) == 0)
&& CONST_STRNEQ (h->root.root.root.string, NEEDS_SHRLIB))
{
const char *name;
char *p;

View File

@ -1875,8 +1875,8 @@ ieee_object_p (bfd *abfd)
family[9] = '\0';
}
}
else if ((strncmp (processor, "cpu32", 5) == 0) /* CPU32 and CPU32+ */
|| (strncmp (processor, "CPU32", 5) == 0))
else if ((CONST_STRNEQ (processor, "cpu32")) /* CPU32 and CPU32+ */
|| (CONST_STRNEQ (processor, "CPU32")))
strcpy (family, "68332");
else
{

View File

@ -1,5 +1,5 @@
/* Support for the generic parts of PE/PEI; common header information.
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006
Free Software Foundation, Inc.
Written by Cygnus Solutions.
@ -271,9 +271,9 @@
#endif /* !COFF_WITH_pep */
/* Macro: Returns true if the bfd is a PE executable as opposed to a PE object file. */
#define bfd_pe_executable_p(abfd) \
(strncmp ((abfd)->xvec->name, "pei-", 4) == 0 \
|| strncmp ((abfd)->xvec->name, "efi-app-", 8) == 0)
#define bfd_pe_executable_p(abfd) \
(CONST_STRNEQ ((abfd)->xvec->name, "pei-") \
|| CONST_STRNEQ ((abfd)->xvec->name, "efi-app-"))
/* These functions are architecture dependent, and are in peicode.h:
coff_swap_reloc_in

View File

@ -562,11 +562,11 @@ bfd_wrapped_link_hash_lookup (bfd *abfd,
#undef WRAP
#undef REAL
#undef REAL
#define REAL "__real_"
if (*l == '_'
&& strncmp (l, REAL, sizeof REAL - 1) == 0
&& CONST_STRNEQ (l, REAL)
&& bfd_hash_lookup (info->wrap_hash, l + sizeof REAL - 1,
FALSE, FALSE) != NULL)
{
@ -1659,8 +1659,7 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info,
s = name + 1;
while (*s == '_')
++s;
if (s[0] == 'G'
&& strncmp (s, CONS_PREFIX, CONS_PREFIX_LEN - 1) == 0)
if (s[0] == 'G' && CONST_STRNEQ (s, CONS_PREFIX))
{
char c;

View File

@ -94,8 +94,7 @@ m68klinux_write_object_contents (abfd)
#define GOT_REF_PREFIX "__GOT_"
#endif
#define IS_GOT_SYM(name) \
(strncmp (name, GOT_REF_PREFIX, sizeof GOT_REF_PREFIX - 1) == 0)
#define IS_GOT_SYM(name) (CONST_STRNEQ (name, GOT_REF_PREFIX))
/* See if a symbol name is a reference to the procedure linkage table. */
@ -103,8 +102,7 @@ m68klinux_write_object_contents (abfd)
#define PLT_REF_PREFIX "__PLT_"
#endif
#define IS_PLT_SYM(name) \
(strncmp (name, PLT_REF_PREFIX, sizeof PLT_REF_PREFIX - 1) == 0)
#define IS_PLT_SYM(name) (CONST_STRNEQ (name, PLT_REF_PREFIX))
/* This string is used to generate specialized error messages. */
@ -445,8 +443,7 @@ linux_tally_symbols (h, data)
h = (struct linux_link_hash_entry *) h->root.root.u.i.link;
if (h->root.root.type == bfd_link_hash_undefined
&& strncmp (h->root.root.root.string, NEEDS_SHRLIB,
sizeof NEEDS_SHRLIB - 1) == 0)
&& CONST_STRNEQ (h->root.root.root.string, NEEDS_SHRLIB))
{
const char *name;
char *p;

View File

@ -2421,10 +2421,10 @@ mmo_internal_write_section (bfd *abfd, asection *sec)
bfd_set_error (bfd_error_bad_value);
return FALSE;
}
else if (strncmp (sec->name, MMIX_OTHER_SPEC_SECTION_PREFIX,
strlen (MMIX_OTHER_SPEC_SECTION_PREFIX)) == 0)
else if (CONST_STRNEQ (sec->name, MMIX_OTHER_SPEC_SECTION_PREFIX))
{
int n = atoi (sec->name + strlen (MMIX_OTHER_SPEC_SECTION_PREFIX));
mmo_write_tetra_raw (abfd, (LOP << 24) | (LOP_SPEC << 16) | n);
return (! abfd->tdata.mmo_data->have_error
&& mmo_write_chunk_list (abfd, mmo_section_data (sec)->head));

View File

@ -174,7 +174,7 @@ nlm_swap_auxiliary_headers_in (bfd *abfd)
return FALSE;
if (bfd_seek (abfd, position, SEEK_SET) != 0)
return FALSE;
if (strncmp (tempstr, "VeRsIoN#", 8) == 0)
if (CONST_STRNEQ (tempstr, "VeRsIoN#"))
{
Nlm_External_Version_Header thdr;
@ -196,7 +196,7 @@ nlm_swap_auxiliary_headers_in (bfd *abfd)
nlm_version_header (abfd)->day =
get_word (abfd, (bfd_byte *) thdr.day);
}
else if (strncmp (tempstr, "MeSsAgEs", 8) == 0)
else if (CONST_STRNEQ (tempstr, "MeSsAgEs"))
{
Nlm_External_Extended_Header thdr;
@ -264,7 +264,7 @@ nlm_swap_auxiliary_headers_in (bfd *abfd)
nlm_extended_header (abfd)->reserved5 =
get_word (abfd, (bfd_byte *) thdr.reserved5);
}
else if (strncmp (tempstr, "CoPyRiGhT=", 10) == 0)
else if (CONST_STRNEQ (tempstr, "CoPyRiGhT="))
{
amt = sizeof (nlm_copyright_header (abfd)->stamp);
if (bfd_bread ((void *) nlm_copyright_header (abfd)->stamp,
@ -280,7 +280,7 @@ nlm_swap_auxiliary_headers_in (bfd *abfd)
amt, abfd) != amt)
return FALSE;
}
else if (strncmp (tempstr, "CuStHeAd", 8) == 0)
else if (CONST_STRNEQ (tempstr, "CuStHeAd"))
{
Nlm_External_Custom_Header thdr;
bfd_size_type hdrLength;
@ -345,7 +345,7 @@ nlm_swap_auxiliary_headers_in (bfd *abfd)
/* If we have found a Cygnus header, process it. Otherwise,
just save the associated data without trying to interpret
it. */
if (strncmp (dataStamp, "CyGnUsEx", 8) == 0)
if (CONST_STRNEQ (dataStamp, "CyGnUsEx"))
{
file_ptr pos;
bfd_byte *contents;
@ -364,7 +364,7 @@ nlm_swap_auxiliary_headers_in (bfd *abfd)
if (bfd_seek (abfd, pos, SEEK_SET) != 0)
return FALSE;
memcpy (nlm_cygnus_ext_header (abfd), "CyGnUsEx", 8);
memcpy (nlm_cygnus_ext_header (abfd), STRING_COMMA_LEN ("CyGnUsEx"));
nlm_cygnus_ext_header (abfd)->offset = dataOffset;
nlm_cygnus_ext_header (abfd)->length = dataLength;
@ -645,7 +645,7 @@ nlm_swap_auxiliary_headers_out (bfd *abfd)
{
Nlm_External_Version_Header thdr;
memcpy (thdr.stamp, "VeRsIoN#", 8);
memcpy (thdr.stamp, STRING_COMMA_LEN ("VeRsIoN#"));
put_word (abfd, (bfd_vma) nlm_version_header (abfd)->majorVersion,
(bfd_byte *) thdr.majorVersion);
put_word (abfd, (bfd_vma) nlm_version_header (abfd)->minorVersion,
@ -672,7 +672,7 @@ nlm_swap_auxiliary_headers_out (bfd *abfd)
{
Nlm_External_Copyright_Header thdr;
memcpy (thdr.stamp, "CoPyRiGhT=", 10);
memcpy (thdr.stamp, STRING_COMMA_LEN ("CoPyRiGhT="));
amt = sizeof (thdr.stamp);
if (bfd_bwrite ((void *) thdr.stamp, amt, abfd) != amt)
return FALSE;
@ -694,7 +694,7 @@ nlm_swap_auxiliary_headers_out (bfd *abfd)
{
Nlm_External_Extended_Header thdr;
memcpy (thdr.stamp, "MeSsAgEs", 8);
memcpy (thdr.stamp, STRING_COMMA_LEN ("MeSsAgEs"));
put_word (abfd,
(bfd_vma) nlm_extended_header (abfd)->languageID,
(bfd_byte *) thdr.languageID);
@ -797,7 +797,7 @@ nlm_swap_auxiliary_headers_out (bfd *abfd)
ds = find_nonzero (nlm_custom_header (abfd)->dataStamp,
sizeof (nlm_custom_header (abfd)->dataStamp));
memcpy (thdr.stamp, "CuStHeAd", 8);
memcpy (thdr.stamp, STRING_COMMA_LEN ("CuStHeAd"));
hdrLength = (2 * NLM_TARGET_LONG_SIZE + (ds ? 8 : 0)
+ nlm_custom_header (abfd)->hdrLength);
put_word (abfd, hdrLength, thdr.length);
@ -831,14 +831,14 @@ nlm_swap_auxiliary_headers_out (bfd *abfd)
{
Nlm_External_Custom_Header thdr;
memcpy (thdr.stamp, "CuStHeAd", 8);
memcpy (thdr.stamp, STRING_COMMA_LEN ("CuStHeAd"));
put_word (abfd, (bfd_vma) 2 * NLM_TARGET_LONG_SIZE + 8,
(bfd_byte *) thdr.length);
put_word (abfd, (bfd_vma) nlm_cygnus_ext_header (abfd)->offset,
(bfd_byte *) thdr.dataOffset);
put_word (abfd, (bfd_vma) nlm_cygnus_ext_header (abfd)->length,
(bfd_byte *) thdr.dataLength);
memcpy (thdr.dataStamp, "CyGnUsEx", 8);
memcpy (thdr.dataStamp, STRING_COMMA_LEN ("CyGnUsEx"));
amt = sizeof (thdr);
if (bfd_bwrite ((void *) &thdr, amt, abfd) != amt)
return FALSE;

View File

@ -94,7 +94,7 @@ osf_core_core_file_p (abfd)
if (val != sizeof core_header)
return NULL;
if (strncmp (core_header.magic, "Core", 4) != 0)
if (! CONST_STRNEQ (core_header.magic, "Core"))
return NULL;
core_hdr (abfd) = (struct osf_core_struct *)

View File

@ -209,7 +209,7 @@ bfd_pef_print_symbol (bfd *abfd,
default:
bfd_print_symbol_vandf (abfd, (void *) file, symbol);
fprintf (file, " %-5s %s", symbol->section->name, symbol->name);
if (strncmp (symbol->name, "__traceback_", strlen ("__traceback_")) == 0)
if (CONST_STRNEQ (symbol->name, "__traceback_"))
{
unsigned char *buf = alloca (symbol->udata.i);
size_t offset = symbol->value + 4;

View File

@ -4374,12 +4374,12 @@ som_slurp_symbol_table (bfd *abfd)
&& sym->symbol.name[strlen (sym->symbol.name) - 1] == '$'
&& !strcmp (sym->symbol.name, sym->symbol.section->name))
sym->symbol.flags |= BSF_SECTION_SYM;
else if (!strncmp (sym->symbol.name, "L$0\002", 4))
else if (CONST_STRNEQ (sym->symbol.name, "L$0\002"))
{
sym->symbol.flags |= BSF_SECTION_SYM;
sym->symbol.name = sym->symbol.section->name;
}
else if (!strncmp (sym->symbol.name, "L$0\001", 4))
else if (CONST_STRNEQ (sym->symbol.name, "L$0\001"))
sym->symbol.flags |= BSF_DEBUGGING;
/* Note increment at bottom of loop, since we skip some symbols
@ -5653,7 +5653,7 @@ som_slurp_armap (bfd *abfd)
return FALSE;
/* For archives without .o files there is no symbol table. */
if (strncmp (nextname, "/ ", 16))
if (! CONST_STRNEQ (nextname, "/ "))
{
bfd_has_map (abfd) = FALSE;
return TRUE;

View File

@ -2,22 +2,22 @@
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
2003, 2004, 2006 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301,
USA. */
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301,
USA. */
#define TARGET_PAGE_SIZE 4096
#define ZMAGIC_DISK_BLOCK_SIZE 1024
@ -94,8 +94,7 @@ sparclinux_write_object_contents (abfd)
#define GOT_REF_PREFIX "__GOT_"
#endif
#define IS_GOT_SYM(name) \
(strncmp (name, GOT_REF_PREFIX, sizeof GOT_REF_PREFIX - 1) == 0)
#define IS_GOT_SYM(name) (CONST_STRNEQ (name, GOT_REF_PREFIX))
/* See if a symbol name is a reference to the procedure linkage table. */
@ -103,8 +102,7 @@ sparclinux_write_object_contents (abfd)
#define PLT_REF_PREFIX "__PLT_"
#endif
#define IS_PLT_SYM(name) \
(strncmp (name, PLT_REF_PREFIX, sizeof PLT_REF_PREFIX - 1) == 0)
#define IS_PLT_SYM(name) (CONST_STRNEQ (name, PLT_REF_PREFIX))
/* This string is used to generate specialized error messages. */
@ -428,9 +426,7 @@ linux_add_one_symbol (info, abfd, name, flags, section, value, string,
This function is called via linux_link_hash_traverse. */
static bfd_boolean
linux_tally_symbols (h, data)
struct linux_link_hash_entry *h;
PTR data;
linux_tally_symbols (struct linux_link_hash_entry *h, void * data)
{
struct bfd_link_info *info = (struct bfd_link_info *) data;
struct fixup *f, *f1;
@ -442,8 +438,7 @@ linux_tally_symbols (h, data)
h = (struct linux_link_hash_entry *) h->root.root.u.i.link;
if (h->root.root.type == bfd_link_hash_undefined
&& strncmp (h->root.root.root.string, NEEDS_SHRLIB,
sizeof NEEDS_SHRLIB - 1) == 0)
&& CONST_STRNEQ (h->root.root.root.string, NEEDS_SHRLIB))
{
const char *name;
char *p;

View File

@ -1,6 +1,6 @@
/* vms-hdr.c -- BFD back-end for VMS/VAX (openVMS/VAX) and
EVAX (openVMS/Alpha) files.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006
Free Software Foundation, Inc.
HDR record handling functions
@ -248,7 +248,7 @@ _bfd_vms_write_hdr (bfd *abfd, int objtype)
/* LMN. */
_bfd_vms_output_begin (abfd, EOBJ_S_C_EMH, EMH_S_C_LNM);
_bfd_vms_output_dump (abfd, (unsigned char *)"GAS proGIS", 10);
_bfd_vms_output_dump (abfd, (unsigned char *) STRING_COMMA_LEN ("GAS proGIS"));
_bfd_vms_output_flush (abfd);
/* SRC. */
@ -260,7 +260,7 @@ _bfd_vms_write_hdr (bfd *abfd, int objtype)
if (symbol->flags & BSF_FILE)
{
if (strncmp ((char *)symbol->name, "<CASE:", 6) == 0)
if (CONST_STRNEQ ((char *)symbol->name, "<CASE:"))
{
PRIV (flag_hash_long_names) = symbol->name[6] - '0';
PRIV (flag_show_after_trunc) = symbol->name[7] - '0';
@ -280,13 +280,13 @@ _bfd_vms_write_hdr (bfd *abfd, int objtype)
}
if (symnum == abfd->symcount)
_bfd_vms_output_dump (abfd, (unsigned char *)"noname", 6);
_bfd_vms_output_dump (abfd, (unsigned char *) STRING_COMMA_LEN ("noname"));
_bfd_vms_output_flush (abfd);
/* TTL. */
_bfd_vms_output_begin (abfd, EOBJ_S_C_EMH, EMH_S_C_TTL);
_bfd_vms_output_dump (abfd, (unsigned char *)"TTL", 3);
_bfd_vms_output_dump (abfd, (unsigned char *) STRING_COMMA_LEN ("TTL"));
_bfd_vms_output_flush (abfd);
/* CPR. */

View File

@ -1,3 +1,19 @@
2006-09-16 Nick Clifton <nickc@redhat.com>
Pedro Alves <pedro_alves@portugalmail.pt>
* ar.c: Make use of new STRING_COMMA_LEN and CONST_STRNEQ
macros defined in bfd.h.
* dlltool.c: Likewise.
* emul_aix.c: Likewise.
* nlmconv.c: Likewise.
* objdump.c: Likewise.
* prdbg.c: Likewise.
* stabs.c: Likewise.
* readelf.c (const_strneq): New macro.
(process_section_headers, slurp_ia64_unwind_table,
slurp_hppa_unwind_table, display_debug_section, process_notes,
process_archive): Use the new macro.
2006-09-14 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3181

View File

@ -430,7 +430,7 @@ main (int argc, char **argv)
usage (0);
if (strcmp (argv[1], "-V") == 0
|| strcmp (argv[1], "-v") == 0
|| strncmp (argv[1], "--v", 3) == 0)
|| CONST_STRNEQ (argv[1], "--v"))
print_version ("ranlib");
arg_index = 1;
if (strcmp (argv[1], "-t") == 0)

View File

@ -1248,7 +1248,7 @@ scan_drectve_symbols (bfd *abfd)
while (p < e)
{
if (p[0] == '-'
&& strncmp (p, "-export:", 8) == 0)
&& CONST_STRNEQ (p, "-export:"))
{
char * name;
char * c;
@ -1266,7 +1266,7 @@ scan_drectve_symbols (bfd *abfd)
char *tag_start = ++p;
while (p < e && *p != ' ' && *p != '-')
p++;
if (strncmp (tag_start, "data", 4) == 0)
if (CONST_STRNEQ (tag_start, "data"))
flags &= ~BSF_FUNCTION;
}

View File

@ -1,5 +1,5 @@
/* Binutils emulation layer.
Copyright 2002, 2003 Free Software Foundation, Inc.
Copyright 2002, 2003, 2006 Free Software Foundation, Inc.
Written by Tom Rix, Red Hat Inc.
This file is part of GNU Binutils.
@ -126,25 +126,25 @@ ar_emul_aix5_replace (bfd **after_bfd, char *file_name, bfd_boolean verbose)
static bfd_boolean
ar_emul_aix_parse_arg (char *arg)
{
if (strncmp (arg, "-X32_64", 6) == 0)
if (CONST_STRNEQ (arg, "-X32_64"))
{
big_archive = TRUE;
X32 = TRUE;
X64 = TRUE;
}
else if (strncmp (arg, "-X32", 3) == 0)
else if (CONST_STRNEQ (arg, "-X32"))
{
big_archive = TRUE;
X32 = TRUE;
X64 = FALSE;
}
else if (strncmp (arg, "-X64", 3) == 0)
else if (CONST_STRNEQ (arg, "-X64"))
{
big_archive = TRUE;
X32 = FALSE;
X64 = TRUE;
}
else if (strncmp (arg, "-g", 2) == 0)
else if (CONST_STRNEQ (arg, "-g"))
{
big_archive = FALSE;
X32 = TRUE;

View File

@ -1,6 +1,6 @@
/* nlmconv.c -- NLM conversion program
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005 Free Software Foundation, Inc.
2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Binutils.
@ -737,7 +737,7 @@ main (int argc, char **argv)
|| ! bfd_set_section_flags (outbfd, help_section,
SEC_HAS_CONTENTS))
bfd_fatal (_("help section"));
strncpy (nlm_extended_header (outbfd)->stamp, "MeSsAgEs", 8);
CONST_STRNCPY (nlm_extended_header (outbfd)->stamp, "MeSsAgEs");
}
}
if (message_file != NULL)
@ -759,7 +759,7 @@ main (int argc, char **argv)
|| ! bfd_set_section_flags (outbfd, message_section,
SEC_HAS_CONTENTS))
bfd_fatal (_("message section"));
strncpy (nlm_extended_header (outbfd)->stamp, "MeSsAgEs", 8);
CONST_STRNCPY (nlm_extended_header (outbfd)->stamp, "MeSsAgEs");
}
}
if (modules != NULL)
@ -795,7 +795,7 @@ main (int argc, char **argv)
|| ! bfd_set_section_flags (outbfd, rpc_section,
SEC_HAS_CONTENTS))
bfd_fatal (_("rpc section"));
strncpy (nlm_extended_header (outbfd)->stamp, "MeSsAgEs", 8);
CONST_STRNCPY (nlm_extended_header (outbfd)->stamp, "MeSsAgEs");
}
}
if (sharelib_file != NULL)
@ -852,20 +852,20 @@ main (int argc, char **argv)
|| ! bfd_set_section_flags (outbfd, shared_section,
SEC_HAS_CONTENTS))
bfd_fatal (_("shared section"));
strncpy (nlm_extended_header (outbfd)->stamp, "MeSsAgEs", 8);
CONST_STRNCPY (nlm_extended_header (outbfd)->stamp, "MeSsAgEs");
}
}
}
/* Check whether a version was given. */
if (strncmp (version_hdr->stamp, "VeRsIoN#", 8) != 0)
if (!CONST_STRNEQ (version_hdr->stamp, "VeRsIoN#"))
non_fatal (_("warning: No version number given"));
/* At least for now, always create an extended header, because that
is what NLMLINK does. */
strncpy (nlm_extended_header (outbfd)->stamp, "MeSsAgEs", 8);
CONST_STRNCPY (nlm_extended_header (outbfd)->stamp, "MeSsAgEs");
strncpy (nlm_cygnus_ext_header (outbfd)->stamp, "CyGnUsEx", 8);
CONST_STRNCPY (nlm_cygnus_ext_header (outbfd)->stamp, "CyGnUsEx");
/* If the date was not given, force it in. */
if (nlm_version_header (outbfd)->month == 0
@ -880,7 +880,7 @@ main (int argc, char **argv)
nlm_version_header (outbfd)->month = ptm->tm_mon + 1;
nlm_version_header (outbfd)->day = ptm->tm_mday;
nlm_version_header (outbfd)->year = ptm->tm_year + 1900;
strncpy (version_hdr->stamp, "VeRsIoN#", 8);
CONST_STRNCPY (version_hdr->stamp, "VeRsIoN#");
}
#ifdef NLMCONV_POWERPC

View File

@ -2015,7 +2015,7 @@ dump_dwarf_section (bfd *abfd, asection *section,
const char *match;
enum dwarf_section_display_enum i;
if (strncmp (name, ".gnu.linkonce.wi.", 17) == 0)
if (CONST_STRNEQ (name, ".gnu.linkonce.wi."))
match = ".debug_info";
else
match = name;

View File

@ -1,5 +1,5 @@
/* prdbg.c -- Print out generic debugging information.
Copyright 1995, 1996, 1999, 2002, 2003, 2004
Copyright 1995, 1996, 1999, 2002, 2003, 2004, 2006
Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>.
Tags style generation written by Salvador E. Tropea <set@computer.org>.
@ -910,11 +910,10 @@ pr_method_type (void *p, bfd_boolean domain, int argcount, bfd_boolean varargs)
domain_type = pop_type (info);
if (domain_type == NULL)
return FALSE;
if (strncmp (domain_type, "class ", sizeof "class " - 1) == 0
if (CONST_STRNEQ (domain_type, "class ")
&& strchr (domain_type + sizeof "class " - 1, ' ') == NULL)
domain_type += sizeof "class " - 1;
else if (strncmp (domain_type, "union class ",
sizeof "union class ") == 0
else if (CONST_STRNEQ (domain_type, "union class ")
&& (strchr (domain_type + sizeof "union class " - 1, ' ')
== NULL))
domain_type += sizeof "union class " - 1;
@ -1317,7 +1316,7 @@ pr_class_baseclass (void *p, bfd_vma bitpos, bfd_boolean virtual,
if (t == NULL)
return FALSE;
if (strncmp (t, "class ", sizeof "class " - 1) == 0)
if (CONST_STRNEQ (t, "class "))
t += sizeof "class " - 1;
/* Push it back on to take advantage of the prepend_type and
@ -2158,7 +2157,7 @@ tg_class_static_member (void *p, const char *name,
if (! full_name)
return FALSE;
memcpy (full_name, info->stack->next->type, len_class);
memcpy (full_name + len_class, "::", 2);
memcpy (full_name + len_class, STRING_COMMA_LEN ("::"));
memcpy (full_name + len_class + 2, name, len_var + 1);
if (! substitute_type (info, full_name))
@ -2199,7 +2198,7 @@ tg_class_baseclass (void *p, bfd_vma bitpos ATTRIBUTE_UNUSED,
if (t == NULL)
return FALSE;
if (strncmp (t, "class ", sizeof "class " - 1) == 0)
if (CONST_STRNEQ (t, "class "))
t += sizeof "class " - 1;
/* Push it back on to take advantage of the prepend_type and

View File

@ -263,6 +263,7 @@ static void (*byte_put) (unsigned char *, bfd_vma, int);
/* 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)
#define const_strneq(a,b) (strncmp ((a), (b), sizeof (b) - 1) == 0)
static void *
get_data (void *var, FILE *file, long offset, size_t size, size_t nmemb,
@ -1135,7 +1136,6 @@ dump_relocations (FILE *file,
case EM_BLACKFIN:
rtype = elf_bfin_reloc_type (type);
break;
}
if (rtype == NULL)
@ -1968,7 +1968,7 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
char const *isa = _("unknown");
char const *mac = _("unknown mac");
char const *additional = NULL;
switch (e_flags & EF_M68K_ISA_MASK)
{
case EF_M68K_ISA_A_NODIV:
@ -2049,7 +2049,6 @@ get_machine_flags (unsigned e_flags, unsigned e_machine)
case EM_CYGNUS_M32R:
if ((e_flags & EF_M32R_ARCH) == E_M32R_ARCH)
strcat (buf, ", m32r");
break;
case EM_MIPS:
@ -4070,7 +4069,7 @@ process_section_headers (FILE *file)
|| do_debug_lines || do_debug_pubnames || do_debug_aranges
|| do_debug_frames || do_debug_macinfo || do_debug_str
|| do_debug_loc || do_debug_ranges)
&& strneq (name, ".debug_", 7))
&& const_strneq (name, ".debug_"))
{
name += 7;
@ -4090,7 +4089,7 @@ process_section_headers (FILE *file)
}
/* linkonce section to be combined with .debug_info at link time. */
else if ((do_debugging || do_debug_info)
&& strneq (name, ".gnu.linkonce.wi.", 17))
&& const_strneq (name, ".gnu.linkonce.wi."))
request_dump (i, DEBUG_DUMP);
else if (do_debug_frames && streq (name, ".eh_frame"))
request_dump (i, DEBUG_DUMP);
@ -4926,7 +4925,7 @@ slurp_ia64_unwind_table (FILE *file,
sym = aux->symtab + ELF64_R_SYM (rp->r_info);
}
if (! strneq (relname, "R_IA64_SEGREL", 13))
if (! const_strneq (relname, "R_IA64_SEGREL"))
{
warn (_("Skipping unexpected relocation type %s\n"), relname);
continue;
@ -5339,7 +5338,7 @@ slurp_hppa_unwind_table (FILE *file,
}
/* R_PARISC_SEGREL32 or R_PARISC_SEGREL64. */
if (strncmp (relname, "R_PARISC_SEGREL", 15) != 0)
if (! const_strneq (relname, "R_PARISC_SEGREL"))
{
warn (_("Skipping unexpected relocation type %s\n"), relname);
continue;
@ -7826,7 +7825,7 @@ display_debug_section (Elf_Internal_Shdr *section, FILE *file)
return 0;
}
if (strneq (name, ".gnu.linkonce.wi.", 17))
if (const_strneq (name, ".gnu.linkonce.wi."))
name = ".debug_info";
/* See if we know how to display the contents of this section. */
@ -8871,7 +8870,7 @@ process_note (Elf_Internal_Note *pnote)
note type strings. */
nt = get_note_type (pnote->type);
else if (strneq (pnote->namedata, "NetBSD-CORE", 11))
else if (const_strneq (pnote->namedata, "NetBSD-CORE"))
/* NetBSD-specific core file notes. */
nt = get_netbsd_elfcore_note_type (pnote->type);
@ -9319,7 +9318,7 @@ process_archive (char *file_name, FILE *file)
return 1;
}
if (memcmp (arhdr.ar_name, "/ ", 16) == 0)
if (const_strneq (arhdr.ar_name, "/ "))
{
/* This is the archive symbol table. Skip it.
FIXME: We should have an option to dump it. */
@ -9341,7 +9340,7 @@ process_archive (char *file_name, FILE *file)
}
}
if (memcmp (arhdr.ar_name, "// ", 16) == 0)
if (const_strneq (arhdr.ar_name, "// "))
{
/* This is the archive string table holding long member
names. */

View File

@ -1,5 +1,5 @@
/* stabs.c -- Parse stabs debugging information
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006
Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>.
@ -1696,12 +1696,12 @@ parse_stab_range_type (void *dhandle, struct stab_handle *info, const char *type
#define ULLHIGH "01777777777777777777777;"
if (index_type == DEBUG_TYPE_NULL)
{
if (strncmp (s2, LLLOW, sizeof LLLOW - 1) == 0
&& strncmp (s3, LLHIGH, sizeof LLHIGH - 1) == 0)
if (CONST_STRNEQ (s2, LLLOW)
&& CONST_STRNEQ (s3, LLHIGH))
return debug_make_int_type (dhandle, 8, FALSE);
if (! ov2
&& n2 == 0
&& strncmp (s3, ULLHIGH, sizeof ULLHIGH - 1) == 0)
&& CONST_STRNEQ (s3, ULLHIGH))
return debug_make_int_type (dhandle, 8, TRUE);
}
@ -2832,7 +2832,7 @@ parse_stab_argtypes (void *dhandle, struct stab_handle *info,
&& (ISDIGIT (argtypes[2])
|| argtypes[2] == 'Q'
|| argtypes[2] == 't'))
|| strncmp (argtypes, "__ct", 4) == 0);
|| CONST_STRNEQ (argtypes, "__ct"));
is_constructor = (is_full_physname_constructor
|| (tagname != NULL
@ -2840,7 +2840,7 @@ parse_stab_argtypes (void *dhandle, struct stab_handle *info,
is_destructor = ((argtypes[0] == '_'
&& (argtypes[1] == '$' || argtypes[1] == '.')
&& argtypes[2] == '_')
|| strncmp (argtypes, "__dt", 4) == 0);
|| CONST_STRNEQ (argtypes, "__dt"));
is_v3 = argtypes[0] == '_' && argtypes[1] == 'Z';
if (is_destructor || is_full_physname_constructor || is_v3)
@ -3841,7 +3841,7 @@ stab_demangle_function_name (struct stab_demangle_info *minfo,
*pp = scan + 2;
if (*pp - name >= 5
&& strncmp (name, "type", 4) == 0
&& CONST_STRNEQ (name, "type")
&& (name[4] == '$' || name[4] == '.'))
{
const char *tem;

View File

@ -1,3 +1,19 @@
2006-09-16 Nick Clifton <nickc@redhat.com>
Pedro Alves <pedro_alves@portugalmail.pt>
* ldctor.c: Make use of new STRING_COMMA_LEN and CONST_STRNEQ
macros defined in bfd.h.
* ldmain.c: Likewise.
* ldwrite.c: Likewise.
* lexsup.c: Likewise.
* pe-dll.c: Likewise.
* emultempl/aix.em: Likewise.
* emultempl/beos.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/xtensaelf.em: Likewise.
2006-09-15 Nick Clifton <nickc@redhat.com>
PR ld/3107

View File

@ -10,7 +10,7 @@ cat >e${EMULATION_NAME}.c <<EOF
/* AIX emulation code for ${EMULATION_NAME}
Copyright 1991, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005
2003, 2004, 2005, 2006
Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
AIX support by Ian Lance Taylor <ian@cygnus.com>
@ -268,7 +268,7 @@ gld${EMULATION_NAME}_parse_args (int argc, char **argv)
if (indx == 0)
indx = 1;
if (indx < argc && strncmp (argv[indx], "-b", 2) == 0)
if (indx < argc && CONST_STRNEQ (argv[indx], "-b"))
{
char *s;

View File

@ -8,7 +8,7 @@ fi
cat >e${EMULATION_NAME}.c <<EOF
/* This file is part of GLD, the Gnu Linker.
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005 Free Software Foundation, Inc.
2005, 2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -452,16 +452,15 @@ sort_by_section_name (const void *a, const void *b)
const lang_statement_union_type *const *rb = b;
int i;
i = strcmp ((*ra)->input_section.section->name,
(*rb)->input_section.section->name);
/* this is a hack to make .stab and .stabstr last, so we don't have
to fix strip/objcopy for .reloc sections.
FIXME stripping images with a .rsrc section still needs to be fixed */
if ( i != 0)
(*rb)->input_section.section->name);
/* This is a hack to make .stab and .stabstr last, so we don't have
to fix strip/objcopy for .reloc sections.
FIXME stripping images with a .rsrc section still needs to be fixed. */
if (i != 0)
{
if ((strncmp ((*ra)->input_section.section->name, ".stab", 5) == 0)
&& (strncmp ((*rb)->input_section.section->name, ".stab", 5) != 0))
if ((CONST_STRNEQ ((*ra)->input_section.section->name, ".stab"))
&& (! CONST_STRNEQ ((*rb)->input_section.section->name, ".stab")))
return 1;
return i;
}
return i;
}
@ -534,7 +533,7 @@ sort_sections (lang_statement_union_type *s)
{
/* Is this the .idata section? */
if (sec->spec.name != NULL
&& strncmp (sec->spec.name, ".idata", 6) == 0)
&& CONST_STRNEQ (sec->spec.name, ".idata"))
{
/* Sort the children. We want to sort any objects in
the same archive. In order to handle the case of

View File

@ -365,7 +365,7 @@ case ${target} in
struct bfd_link_needed_list *l;
for (l = needed; l != NULL; l = l->next)
if (strncmp (l->name, "libc.so", 7) == 0)
if (CONST_STRNEQ (l->name, "libc.so"))
break;
if (l == NULL)
{
@ -698,7 +698,7 @@ gld${EMULATION_NAME}_parse_ld_so_conf
if (p[0] == '\0')
continue;
if (!strncmp (p, "include", 7) && (p[7] == ' ' || p[7] == '\t'))
if (CONST_STRNEQ (p, "include") && (p[7] == ' ' || p[7] == '\t'))
{
char *dir, c;
p += 8;
@ -1326,7 +1326,7 @@ output_rel_find (asection *sec, int isdyn)
lookup = lookup->next)
{
if (lookup->constraint != -1
&& strncmp (".rel", lookup->name, 4) == 0)
&& CONST_STRNEQ (lookup->name, ".rel"))
{
int lookrela = lookup->name[4] == 'a';
@ -1435,7 +1435,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s)
default:
break;
}
else if (strncmp (secname, ".rel", 4) == 0)
else if (CONST_STRNEQ (secname, ".rel"))
{
secname = secname[4] == 'a' ? ".rela.dyn" : ".rel.dyn";
isdyn = 1;
@ -1483,7 +1483,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s)
sections into the .text section to get them out of the way. */
if (link_info.executable
&& ! link_info.relocatable
&& strncmp (secname, ".gnu.warning.", sizeof ".gnu.warning." - 1) == 0
&& CONST_STRNEQ (secname, ".gnu.warning.")
&& hold[orphan_text].os != NULL)
{
lang_add_section (&hold[orphan_text].os->children, s,
@ -1502,7 +1502,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s)
;
else if ((s->flags & SEC_LOAD) != 0
&& ((iself && sh_type == SHT_NOTE)
|| (!iself && strncmp (secname, ".note", 5) == 0)))
|| (!iself && CONST_STRNEQ (secname, ".note"))))
place = &hold[orphan_interp];
else if ((s->flags & (SEC_LOAD | SEC_HAS_CONTENTS)) == 0)
place = &hold[orphan_bss];
@ -1511,7 +1511,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s)
else if ((s->flags & SEC_READONLY) == 0)
place = &hold[orphan_data];
else if (((iself && (sh_type == SHT_RELA || sh_type == SHT_REL))
|| (!iself && strncmp (secname, ".rel", 4) == 0))
|| (!iself && CONST_STRNEQ (secname, ".rel")))
&& (s->flags & SEC_LOAD) != 0)
place = &hold[orphan_rel];
else if ((s->flags & SEC_CODE) == 0)
@ -1871,15 +1871,16 @@ EOF
fi
cat >>e${EMULATION_NAME}.c <<EOF
else if (strncmp (optarg, "max-page-size=", 14) == 0)
else if (CONST_STRNEQ (optarg, "max-page-size="))
{
char *end;
config.maxpagesize = strtoul (optarg + 14, &end, 0);
if (*end)
einfo (_("%P%F: invalid maxium page size \`%s'\n"),
optarg + 14);
}
else if (strncmp (optarg, "common-page-size=", 17) == 0)
else if (CONST_STRNEQ (optarg, "common-page-size="))
{
char *end;
config.commonpagesize = strtoul (optarg + 17, &end, 0);

View File

@ -925,8 +925,7 @@ pe_find_data_imports (void)
for (i = 0; i < nsyms; i++)
{
if (memcmp (symbols[i]->name, "__head_",
sizeof ("__head_") - 1))
if (! CONST_STRNEQ (symbols[i]->name, "__head_"))
continue;
if (pe_dll_extra_pe_debug)
@ -1060,7 +1059,7 @@ gld_${EMULATION_NAME}_after_open (void)
{
if (strcmp (sec->name, ".idata\$2") == 0)
idata2 = 1;
if (strncmp (sec->name, ".idata\$", 7) == 0)
if (CONST_STRNEQ (sec->name, ".idata\$"))
is_imp = 1;
reloc_count += sec->reloc_count;
}

View File

@ -10,7 +10,7 @@ cat >e${EMULATION_NAME}.c <<EOF
/* SunOS emulation code for ${EMULATION_NAME}
Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005 Free Software Foundation, Inc.
2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
SunOS shared library support by Ian Lance Taylor <ian@cygnus.com>
@ -160,7 +160,7 @@ gld${EMULATION_NAME}_find_so (lang_input_statement_type *inp)
|| ! inp->dynamic)
return;
ASSERT (strncmp (inp->local_sym_name, "-l", 2) == 0);
ASSERT (CONST_STRNEQ (inp->local_sym_name, "-l"));
for (search = search_head; search != NULL; search = search->next)
{
@ -273,7 +273,7 @@ gld${EMULATION_NAME}_search_dir
const char *s;
int found_maj, found_min;
if (strncmp (entry->d_name, "lib", 3) != 0
if (! CONST_STRNEQ (entry->d_name, "lib")
|| strncmp (entry->d_name + 3, filename, len) != 0)
continue;
@ -288,7 +288,7 @@ gld${EMULATION_NAME}_search_dir
native linker does not. This is more convenient for packages
which just generate .so files for shared libraries, as on ELF
systems. */
if (strncmp (entry->d_name + 3 + len, ".so", 3) != 0)
if (! CONST_STRNEQ (entry->d_name + 3 + len, ".so"))
continue;
if (entry->d_name[6 + len] == '\0')
;
@ -400,7 +400,7 @@ gld${EMULATION_NAME}_after_open (void)
if (global_found)
continue;
if (strncmp (lname, "-l", 2) != 0)
if (! CONST_STRNEQ (lname, "-l"))
{
bfd *abfd;
@ -586,7 +586,7 @@ gld${EMULATION_NAME}_check_needed (lang_input_statement_type *s)
{
if (s->filename == NULL)
return;
if (strncmp (global_needed->name, "-l", 2) != 0)
if (! CONST_STRNEQ (global_needed->name, "-l"))
{
if (strcmp (s->filename, global_needed->name) == 0)
global_found = TRUE;
@ -605,7 +605,7 @@ gld${EMULATION_NAME}_check_needed (lang_input_statement_type *s)
else
++sname;
if (strncmp (sname, "lib", 3) != 0)
if (! CONST_STRNEQ (sname, "lib"))
return;
sname += 3;

View File

@ -267,8 +267,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 (strncmp (sec_name, LINKONCE_SEC_OLD_TEXT_BASE_NAME,
strlen (LINKONCE_SEC_OLD_TEXT_BASE_NAME)) == 0)
else if (CONST_STRNEQ (sec_name, LINKONCE_SEC_OLD_TEXT_BASE_NAME))
{
insn_sec_name = sec_name;
owned_prop_sec_name = (char *) xmalloc (strlen (sec_name) + 20);
@ -1207,9 +1206,9 @@ is_inconsistent_linkonce_section (asection *sec)
return FALSE;
/* Check if this is an Xtensa property section. */
if (strncmp (sec_name + linkonce_len, "p.", 2) == 0)
if (CONST_STRNEQ (sec_name + linkonce_len, "p."))
name = sec_name + linkonce_len + 2;
else if (strncmp (sec_name + linkonce_len, "prop.", 5) == 0)
else if (CONST_STRNEQ (sec_name + linkonce_len, "prop."))
name = strchr (sec_name + linkonce_len + 5, '.') + 1;
if (name)

View File

@ -1,6 +1,6 @@
/* ldctor.c -- constructor support routines
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004 Free Software Foundation, Inc.
2002, 2003, 2004, 2006 Free Software Foundation, Inc.
By Steve Chamberlain <sac@cygnus.com>
This file is part of GLD, the Gnu Linker.
@ -131,7 +131,7 @@ ctor_prio (const char *name)
while (*name == '_')
++name;
if (strncmp (name, "GLOBAL_", sizeof "GLOBAL_" - 1) != 0)
if (! CONST_STRNEQ (name, "GLOBAL_"))
return -1;
name += sizeof "GLOBAL_" - 1;

View File

@ -608,7 +608,7 @@ get_sysroot (int argc, char **argv)
const char *path;
for (i = 1; i < argc; i++)
if (strncmp (argv[i], "--sysroot=", strlen ("--sysroot=")) == 0)
if (CONST_STRNEQ (argv[i], "--sysroot="))
return argv[i] + strlen ("--sysroot=");
path = get_relative_sysroot (BINDIR);
@ -637,7 +637,7 @@ get_emulation (int argc, char **argv)
for (i = 1; i < argc; i++)
{
if (!strncmp (argv[i], "-m", 2))
if (CONST_STRNEQ (argv[i], "-m"))
{
if (argv[i][2] == '\0')
{

View File

@ -1,6 +1,6 @@
/* ldwrite.c -- write out the linked file
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2002,
2003, 2004, 2005 Free Software Foundation, Inc.
2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Written by Steve Chamberlain sac@cygnus.com
This file is part of GLD, the Gnu Linker.
@ -293,7 +293,7 @@ build_link_order (lang_statement_union_type *statement)
static bfd_boolean
unsplittable_name (const char *name)
{
if (strncmp (name, ".stab", 5) == 0)
if (CONST_STRNEQ (name, ".stab"))
{
/* There are several stab like string sections. We pattern match on
".stab...str" */
@ -338,7 +338,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 (strncmp (name, ".stab", 5) == 0
if (CONST_STRNEQ (name, ".stab")
|| strcmp (name, "$GDB_SYMBOLS$") == 0)
{
einfo (_ ("%F%P: cannot create split section name for %s\n"), name);

View File

@ -1308,7 +1308,7 @@ parse_args (unsigned argc, char **argv)
link_info.discard = discard_all;
break;
case 'Y':
if (strncmp (optarg, "P,", 2) == 0)
if (CONST_STRNEQ (optarg, "P,"))
optarg += 2;
if (default_dirlist != NULL)
free (default_dirlist);

View File

@ -164,42 +164,42 @@ pe_details_type;
static autofilter_entry_type autofilter_symbollist_generic[] =
{
{ ".text", 5 },
{ STRING_COMMA_LEN (".text") },
/* Entry point symbols. */
{ "DllMain", 7 },
{ "DllMainCRTStartup", 17 },
{ "_DllMainCRTStartup", 18 },
{ STRING_COMMA_LEN ("DllMain") },
{ STRING_COMMA_LEN ("DllMainCRTStartup") },
{ STRING_COMMA_LEN ("_DllMainCRTStartup") },
/* Runtime pseudo-reloc. */
{ "_pei386_runtime_relocator", 25 },
{ "do_pseudo_reloc", 15 },
{ NULL, 0 }
{ STRING_COMMA_LEN ("_pei386_runtime_relocator") },
{ STRING_COMMA_LEN ("do_pseudo_reloc") },
{ STRING_COMMA_LEN (NULL) }
};
static autofilter_entry_type autofilter_symbollist_i386[] =
{
{ ".text", 5 },
{ STRING_COMMA_LEN (".text") },
/* Entry point symbols, and entry hooks. */
{ "cygwin_crt0", 11 },
{ "DllMain@12", 10 },
{ "DllEntryPoint@0", 15 },
{ "DllMainCRTStartup@12", 20 },
{ "_cygwin_dll_entry@12", 20 },
{ "_cygwin_crt0_common@8", 21 },
{ "_cygwin_noncygwin_dll_entry@12", 30 },
{ "cygwin_attach_dll", 17 },
{ "cygwin_premain0", 15 },
{ "cygwin_premain1", 15 },
{ "cygwin_premain2", 15 },
{ "cygwin_premain3", 15 },
{ STRING_COMMA_LEN ("cygwin_crt0") },
{ STRING_COMMA_LEN ("DllMain@12") },
{ STRING_COMMA_LEN ("DllEntryPoint@0") },
{ STRING_COMMA_LEN ("DllMainCRTStartup@12") },
{ STRING_COMMA_LEN ("_cygwin_dll_entry@12") },
{ STRING_COMMA_LEN ("_cygwin_crt0_common@8") },
{ STRING_COMMA_LEN ("_cygwin_noncygwin_dll_entry@12") },
{ STRING_COMMA_LEN ("cygwin_attach_dll") },
{ STRING_COMMA_LEN ("cygwin_premain0") },
{ STRING_COMMA_LEN ("cygwin_premain1") },
{ STRING_COMMA_LEN ("cygwin_premain2") },
{ STRING_COMMA_LEN ("cygwin_premain3") },
/* Runtime pseudo-reloc. */
{ "_pei386_runtime_relocator", 25 },
{ "do_pseudo_reloc", 15 },
{ STRING_COMMA_LEN ("_pei386_runtime_relocator") },
{ STRING_COMMA_LEN ("do_pseudo_reloc") },
/* Global vars that should not be exported. */
{ "impure_ptr", 10 },
{ "_impure_ptr", 11 },
{ "_fmode", 6 },
{ "environ", 7 },
{ NULL, 0 }
{ STRING_COMMA_LEN ("impure_ptr") },
{ STRING_COMMA_LEN ("_impure_ptr") },
{ STRING_COMMA_LEN ("_fmode") },
{ STRING_COMMA_LEN ("environ") },
{ STRING_COMMA_LEN (NULL) }
};
#define PE_ARCH_i386 1
@ -273,51 +273,51 @@ static pe_details_type *pe_details;
/* Do not specify library suffix explicitly, to allow for dllized versions. */
static autofilter_entry_type autofilter_liblist[] =
{
{ "libcegcc", 8 },
{ "libcygwin", 9 },
{ "libgcc", 6 },
{ "libstdc++", 9 },
{ "libmingw32", 10 },
{ "libmingwex", 10 },
{ "libg2c", 6 },
{ "libsupc++", 9 },
{ "libobjc", 7 },
{ "libgcj", 6 },
{ NULL, 0 }
{ STRING_COMMA_LEN ("libcegcc") },
{ STRING_COMMA_LEN ("libcygwin") },
{ STRING_COMMA_LEN ("libgcc") },
{ STRING_COMMA_LEN ("libstdc++") },
{ STRING_COMMA_LEN ("libmingw32") },
{ STRING_COMMA_LEN ("libmingwex") },
{ STRING_COMMA_LEN ("libg2c") },
{ STRING_COMMA_LEN ("libsupc++") },
{ STRING_COMMA_LEN ("libobjc") },
{ STRING_COMMA_LEN ("libgcj") },
{ STRING_COMMA_LEN (NULL) }
};
static autofilter_entry_type autofilter_objlist[] =
{
{ "crt0.o", 6 },
{ "crt1.o", 6 },
{ "crt2.o", 6 },
{ "dllcrt1.o", 9 },
{ "dllcrt2.o", 9 },
{ "gcrt0.o", 7 },
{ "gcrt1.o", 7 },
{ "gcrt2.o", 7 },
{ "crtbegin.o", 10 },
{ "crtend.o", 8 },
{ NULL, 0 }
{ STRING_COMMA_LEN ("crt0.o") },
{ STRING_COMMA_LEN ("crt1.o") },
{ STRING_COMMA_LEN ("crt2.o") },
{ STRING_COMMA_LEN ("dllcrt1.o") },
{ STRING_COMMA_LEN ("dllcrt2.o") },
{ STRING_COMMA_LEN ("gcrt0.o") },
{ STRING_COMMA_LEN ("gcrt1.o") },
{ STRING_COMMA_LEN ("gcrt2.o") },
{ STRING_COMMA_LEN ("crtbegin.o") },
{ STRING_COMMA_LEN ("crtend.o") },
{ STRING_COMMA_LEN (NULL) }
};
static autofilter_entry_type autofilter_symbolprefixlist[] =
{
{ "__imp_", 6 },
{ STRING_COMMA_LEN ("__imp_") },
/* Do __imp_ explicitly to save time. */
{ "__rtti_", 7 },
{ STRING_COMMA_LEN ("__rtti_") },
/* Don't re-export auto-imported symbols. */
{ "_nm_", 4 },
{ "__builtin_", 10 },
{ STRING_COMMA_LEN ("_nm_") },
{ STRING_COMMA_LEN ("__builtin_") },
/* Don't export symbols specifying internal DLL layout. */
{ "_head_", 6 },
{ NULL, 0 }
{ STRING_COMMA_LEN ("_head_") },
{ STRING_COMMA_LEN (NULL) }
};
static autofilter_entry_type autofilter_symbolsuffixlist[] =
{
{ "_iname", 6 },
{ NULL, 0 }
{ STRING_COMMA_LEN ("_iname") },
{ STRING_COMMA_LEN (NULL) }
};
#define U(str) (pe_details->underscored ? "_" str : str)
@ -432,7 +432,7 @@ auto_export (bfd *abfd, def_file *d, const char *n)
libname = lbasename (abfd->my_archive->filename);
/* We should not re-export imported stuff. */
if (strncmp (n, "_imp_", 5) == 0)
if (CONST_STRNEQ (n, "_imp_"))
return 0;
for (i = 0; i < d->num_exports; i++)
@ -2674,7 +2674,7 @@ pe_implied_import_dll (const char *filename)
/* Skip unwanted symbols, which are
exported in buggy auto-import releases. */
if (strncmp (erva + name_rva, "_nm_", 4) != 0)
if (! CONST_STRNEQ (erva + name_rva, "_nm_"))
{
/* is_data is true if the address is in the data, rdata or bss
segment. */

View File

@ -1,3 +1,14 @@
2006-09-16 Nick Clifton <nickc@redhat.com>
Pedro Alves <pedro_alves@portugalmail.pt>
* arm-dis.c: Make use of new STRING_COMMA_LEN and CONST_STRNEQ
macros defined in bfd.h.
* cris-dis.c: Likewise.
* h8300-dis.c: Likewise.
* i386-dis.c: Likewise.
* ia64-gen.c: Likewise.
* mips-dis: Likewise.
2006-09-04 Paul Brook <paul@codesourcery.com>
* arm-dis.c (neon_opcode): Fix suffix on VMOVN.

View File

@ -3653,7 +3653,7 @@ parse_arm_disassembler_option (char *option)
if (option == NULL)
return;
if (strneq (option, "reg-names-", 10))
if (CONST_STRNEQ (option, "reg-names-"))
{
int i;
@ -3670,9 +3670,9 @@ parse_arm_disassembler_option (char *option)
/* XXX - should break 'option' at following delimiter. */
fprintf (stderr, _("Unrecognised register name set: %s\n"), option);
}
else if (strneq (option, "force-thumb", 11))
else if (CONST_STRNEQ (option, "force-thumb"))
force_thumb = 1;
else if (strneq (option, "no-force-thumb", 14))
else if (CONST_STRNEQ (option, "no-force-thumb"))
force_thumb = 0;
else
/* XXX - should break 'option' at following delimiter. */

View File

@ -1,5 +1,5 @@
/* Disassembler code for CRIS.
Copyright 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
Copyright 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
Contributed by Axis Communications AB, Lund, Sweden.
Written by Hans-Peter Nilsson.
@ -783,7 +783,7 @@ print_with_operands (const struct cris_opcode *opcodep,
better way). */
if (opcodep->name[0] == 'j')
{
if (strncmp (opcodep->name, "jsr", 3) == 0)
if (CONST_STRNEQ (opcodep->name, "jsr"))
/* It's "jsr" or "jsrc". */
info->insn_type = dis_jsr;
else
@ -1360,16 +1360,16 @@ print_with_operands (const struct cris_opcode *opcodep,
itself or in a "move.d const,rN, sub.d rN,rM"-like sequence. */
if (TRACE_CASE && case_offset_counter == 0)
{
if (strncmp (opcodep->name, "sub", 3) == 0)
if (CONST_STRNEQ (opcodep->name, "sub"))
case_offset = last_immediate;
/* It could also be an "add", if there are negative case-values. */
else if (strncmp (opcodep->name, "add", 3) == 0)
else if (CONST_STRNEQ (opcodep->name, "add"))
/* The first case is the negated operand to the add. */
case_offset = -last_immediate;
/* A bound insn will tell us the number of cases. */
else if (strncmp (opcodep->name, "bound", 5) == 0)
else if (CONST_STRNEQ (opcodep->name, "bound"))
no_of_case_offsets = last_immediate + 1;
/* A jump or jsr or branch breaks the chain of insns for a

View File

@ -1,5 +1,5 @@
/* Disassemble h8300 instructions.
Copyright 1993, 1994, 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
Copyright 1993, 1994, 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@ -638,7 +638,7 @@ bfd_h8_disassemble (bfd_vma addr, disassemble_info *info, int mach)
regno[1]);
return qi->length;
}
if (strncmp (q->name, "mova", 4) == 0)
if (CONST_STRNEQ (q->name, "mova"))
{
op_type *args = q->args.nib;

View File

@ -1,6 +1,6 @@
/* Print i386 instructions for GDB, the GNU debugger.
Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GDB.
@ -2667,44 +2667,44 @@ print_insn (bfd_vma pc, disassemble_info *info)
for (p = info->disassembler_options; p != NULL; )
{
if (strncmp (p, "x86-64", 6) == 0)
if (CONST_STRNEQ (p, "x86-64"))
{
address_mode = mode_64bit;
priv.orig_sizeflag = AFLAG | DFLAG;
}
else if (strncmp (p, "i386", 4) == 0)
else if (CONST_STRNEQ (p, "i386"))
{
address_mode = mode_32bit;
priv.orig_sizeflag = AFLAG | DFLAG;
}
else if (strncmp (p, "i8086", 5) == 0)
else if (CONST_STRNEQ (p, "i8086"))
{
address_mode = mode_16bit;
priv.orig_sizeflag = 0;
}
else if (strncmp (p, "intel", 5) == 0)
else if (CONST_STRNEQ (p, "intel"))
{
intel_syntax = 1;
}
else if (strncmp (p, "att", 3) == 0)
else if (CONST_STRNEQ (p, "att"))
{
intel_syntax = 0;
}
else if (strncmp (p, "addr", 4) == 0)
else if (CONST_STRNEQ (p, "addr"))
{
if (p[4] == '1' && p[5] == '6')
priv.orig_sizeflag &= ~AFLAG;
else if (p[4] == '3' && p[5] == '2')
priv.orig_sizeflag |= AFLAG;
}
else if (strncmp (p, "data", 4) == 0)
else if (CONST_STRNEQ (p, "data"))
{
if (p[4] == '1' && p[5] == '6')
priv.orig_sizeflag &= ~DFLAG;
else if (p[4] == '3' && p[5] == '2')
priv.orig_sizeflag |= DFLAG;
}
else if (strncmp (p, "suffix", 6) == 0)
else if (CONST_STRNEQ (p, "suffix"))
priv.orig_sizeflag |= SUFFIX_ALWAYS;
p = strchr (p, ',');
@ -5207,9 +5207,9 @@ PNI_Fixup (int extrachar ATTRIBUTE_UNUSED, int sizeflag)
&& (prefixes & PREFIX_ADDR)
&& olen >= (4 + 7)
&& *(p - 1) == ' '
&& strncmp (p - 7, "addr", 4) == 0
&& (strncmp (p - 3, "16", 2) == 0
|| strncmp (p - 3, "32", 2) == 0))
&& CONST_STRNEQ (p - 7, "addr")
&& (CONST_STRNEQ (p - 3, "16")
|| CONST_STRNEQ (p - 3, "32")))
p -= 7;
if (rm)

View File

@ -467,7 +467,7 @@ fetch_insn_class (const char *full_name, int create)
int ind;
int is_class = 0;
if (strncmp (full_name, "IC:", 3) == 0)
if (CONST_STRNEQ (full_name, "IC:"))
{
name = xstrdup (full_name + 3);
is_class = 1;
@ -749,7 +749,7 @@ parse_resource_users (ref, usersp, nusersp, notesp)
are read. Only create new classes if it's *not* an insn class,
or if it's a composite class (which wouldn't necessarily be in the IC
table). */
if (strncmp (name, "IC:", 3) != 0 || xsect != NULL)
if (! CONST_STRNEQ (name, "IC:") || xsect != NULL)
create = 1;
iclass = fetch_insn_class (name, create);
@ -1034,7 +1034,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
if (ic->comment)
{
if (!strncmp (ic->comment, "Format", 6))
if (CONST_STRNEQ (ic->comment, "Format"))
{
/* Assume that the first format seen is the most restrictive, and
only keep a later one if it looks like it's more restrictive. */
@ -1050,7 +1050,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
else
format = ic->comment;
}
else if (!strncmp (ic->comment, "Field", 5))
else if (CONST_STRNEQ (ic->comment, "Field"))
{
if (field)
warn (_("overlapping field %s->%s\n"),
@ -1064,7 +1064,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
instructions. */
if (ic->nsubs == 0 && ic->nxsubs == 0)
{
int is_mov = strncmp (idesc->name, "mov", 3) == 0;
int is_mov = CONST_STRNEQ (idesc->name, "mov");
int plain_mov = strcmp (idesc->name, "mov") == 0;
int len = strlen(ic->name);
@ -1123,32 +1123,32 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
if (resolved && format)
{
if (strncmp (idesc->name, "dep", 3) == 0
if (CONST_STRNEQ (idesc->name, "dep")
&& strstr (format, "I13") != NULL)
resolved = idesc->operands[1] == IA64_OPND_IMM8;
else if (strncmp (idesc->name, "chk", 3) == 0
else if (CONST_STRNEQ (idesc->name, "chk")
&& strstr (format, "M21") != NULL)
resolved = idesc->operands[0] == IA64_OPND_F2;
else if (strncmp (idesc->name, "lfetch", 6) == 0)
else if (CONST_STRNEQ (idesc->name, "lfetch"))
resolved = (strstr (format, "M14 M15") != NULL
&& (idesc->operands[1] == IA64_OPND_R2
|| idesc->operands[1] == IA64_OPND_IMM9b));
else if (strncmp (idesc->name, "br.call", 7) == 0
else if (CONST_STRNEQ (idesc->name, "br.call")
&& strstr (format, "B5") != NULL)
resolved = idesc->operands[1] == IA64_OPND_B2;
else if (strncmp (idesc->name, "br.call", 7) == 0
else if (CONST_STRNEQ (idesc->name, "br.call")
&& strstr (format, "B3") != NULL)
resolved = idesc->operands[1] == IA64_OPND_TGT25c;
else if (strncmp (idesc->name, "brp", 3) == 0
else if (CONST_STRNEQ (idesc->name, "brp")
&& strstr (format, "B7") != NULL)
resolved = idesc->operands[0] == IA64_OPND_B2;
else if (strcmp (ic->name, "invala") == 0)
resolved = strcmp (idesc->name, ic->name) == 0;
else if (strncmp (idesc->name, "st", 2) == 0
else if (CONST_STRNEQ (idesc->name, "st")
&& (strstr (format, "M5") != NULL
|| strstr (format, "M10") != NULL))
resolved = idesc->flags & IA64_OPCODE_POSTINC;
else if (strncmp (idesc->name, "ld", 2) == 0
else if (CONST_STRNEQ (idesc->name, "ld")
&& (strstr (format, "M2 M3") != NULL
|| strstr (format, "M12") != NULL
|| strstr (format, "M7 M8") != NULL))
@ -1161,7 +1161,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
plain brl matches brl.cond. */
if (!resolved
&& (strcmp (idesc->name, "brl") == 0
|| strncmp (idesc->name, "brl.", 4) == 0)
|| CONST_STRNEQ (idesc->name, "brl."))
&& strcmp (ic->name, "brl.cond") == 0)
{
resolved = 1;
@ -1170,7 +1170,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
/* Misc br variations ('.cond' is optional). */
if (!resolved
&& (strcmp (idesc->name, "br") == 0
|| strncmp (idesc->name, "br.", 3) == 0)
|| CONST_STRNEQ (idesc->name, "br."))
&& strcmp (ic->name, "br.cond") == 0)
{
if (format)
@ -1183,7 +1183,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
}
/* probe variations. */
if (!resolved && strncmp (idesc->name, "probe", 5) == 0)
if (!resolved && CONST_STRNEQ (idesc->name, "probe"))
{
resolved = strcmp (ic->name, "probe") == 0
&& !((strstr (idesc->name, "fault") != NULL)
@ -1217,7 +1217,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
}
/* Some variants of mov and mov.[im]. */
if (!resolved && strncmp (ic->name, "mov_", 4) == 0)
if (!resolved && CONST_STRNEQ (ic->name, "mov_"))
resolved = in_iclass_mov_x (idesc, ic, format, field);
}
@ -1476,13 +1476,13 @@ lookup_specifier (const char *name)
warn (_("Don't know how to specify # dependency %s\n"),
name);
}
else if (strncmp (name, "AR[FPSR]", 8) == 0)
else if (CONST_STRNEQ (name, "AR[FPSR]"))
return IA64_RS_AR_FPSR;
else if (strncmp (name, "AR[", 3) == 0)
else if (CONST_STRNEQ (name, "AR["))
return IA64_RS_ARX;
else if (strncmp (name, "CR[", 3) == 0)
else if (CONST_STRNEQ (name, "CR["))
return IA64_RS_CRX;
else if (strncmp (name, "PSR.", 4) == 0)
else if (CONST_STRNEQ (name, "PSR."))
return IA64_RS_PSR;
else if (strcmp (name, "InService*") == 0)
return IA64_RS_INSERVICE;
@ -2448,7 +2448,7 @@ insert_opcode_dependencies (opc, cmp)
int j;
if (strcmp (opc->name, "cmp.eq.and") == 0
&& strncmp (rs->name, "PR%", 3) == 0
&& CONST_STRNEQ (rs->name, "PR%")
&& rs->mode == 1)
no_class_found = 99;
@ -2459,7 +2459,7 @@ insert_opcode_dependencies (opc, cmp)
if (in_iclass (opc, ics[rs->regs[j]], NULL, NULL, &ic_note))
{
/* We can ignore ic_note 11 for non PR resources. */
if (ic_note == 11 && strncmp (rs->name, "PR", 2) != 0)
if (ic_note == 11 && ! CONST_STRNEQ (rs->name, "PR"))
ic_note = 0;
if (ic_note != 0 && rs->regnotes[j] != 0
@ -2487,7 +2487,7 @@ insert_opcode_dependencies (opc, cmp)
if (in_iclass (opc, ics[rs->chks[j]], NULL, NULL, &ic_note))
{
/* We can ignore ic_note 11 for non PR resources. */
if (ic_note == 11 && strncmp (rs->name, "PR", 2) != 0)
if (ic_note == 11 && ! CONST_STRNEQ (rs->name, "PR"))
ic_note = 0;
if (ic_note != 0 && rs->chknotes[j] != 0

View File

@ -575,7 +575,7 @@ parse_mips_dis_option (const char *option, unsigned int len)
const struct mips_arch_choice *chosen_arch;
/* Try to match options that are simple flags */
if (strncmp (option, "no-aliases", 10) == 0)
if (CONST_STRNEQ (option, "no-aliases"))
{
no_aliases = 1;
return;