X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fnlmcode.h;h=7229ee4743c4cc2b4a6c9ae1a4c898b305a92416;hb=a43942db49b07a457ee4f960d0f118b23641ec38;hp=4773061138fa91b4283f3e876ac6a5540bd9547e;hpb=01f0fe5e0450edf168c1f612feb93cf588e4e7ea;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/nlmcode.h b/bfd/nlmcode.h index 4773061138..7229ee4743 100644 --- a/bfd/nlmcode.h +++ b/bfd/nlmcode.h @@ -1,6 +1,5 @@ /* NLM (NetWare Loadable Module) executable support for BFD. - Copyright 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - 2005 Free Software Foundation, Inc. + Copyright (C) 1993-2016 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, using ELF support as the template. @@ -9,7 +8,7 @@ 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 + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -19,10 +18,11 @@ 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. */ + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ -#include "bfd.h" #include "sysdep.h" +#include "bfd.h" #include "libbfd.h" #include "libnlm.h" @@ -138,14 +138,13 @@ add_bfd_section (bfd *abfd, { asection *newsect; - newsect = bfd_make_section (abfd, name); + newsect = bfd_make_section_with_flags (abfd, name, flags); if (newsect == NULL) return FALSE; newsect->vma = 0; /* NLM's are relocatable. */ newsect->size = size; newsect->filepos = offset; - newsect->flags = flags; newsect->alignment_power = bfd_log2 ((bfd_vma) 0); /* FIXME */ return TRUE; @@ -175,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; @@ -197,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; @@ -265,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, @@ -281,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; @@ -346,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; @@ -365,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); + LITMEMCPY (nlm_cygnus_ext_header (abfd), "CyGnUsEx"); nlm_cygnus_ext_header (abfd)->offset = dataOffset; nlm_cygnus_ext_header (abfd)->length = dataLength; @@ -491,7 +490,7 @@ nlm_object_p (bfd *abfd) NLM_SIGNATURE_SIZE) != 0) goto got_wrong_format_error; - /* There's no supported way to discover the endianess of an NLM, so test for + /* There's no supported way to discover the endianness of an NLM, so test for a sane version number after doing byte swapping appropriate for this XVEC. (Hack alert!) */ if (i_fxdhdrp->version > 0xFFFF) @@ -646,7 +645,7 @@ nlm_swap_auxiliary_headers_out (bfd *abfd) { Nlm_External_Version_Header thdr; - memcpy (thdr.stamp, "VeRsIoN#", 8); + LITMEMCPY (thdr.stamp, "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, @@ -673,7 +672,7 @@ nlm_swap_auxiliary_headers_out (bfd *abfd) { Nlm_External_Copyright_Header thdr; - memcpy (thdr.stamp, "CoPyRiGhT=", 10); + LITMEMCPY (thdr.stamp, "CoPyRiGhT="); amt = sizeof (thdr.stamp); if (bfd_bwrite ((void *) thdr.stamp, amt, abfd) != amt) return FALSE; @@ -695,7 +694,7 @@ nlm_swap_auxiliary_headers_out (bfd *abfd) { Nlm_External_Extended_Header thdr; - memcpy (thdr.stamp, "MeSsAgEs", 8); + LITMEMCPY (thdr.stamp, "MeSsAgEs"); put_word (abfd, (bfd_vma) nlm_extended_header (abfd)->languageID, (bfd_byte *) thdr.languageID); @@ -798,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); + LITMEMCPY (thdr.stamp, "CuStHeAd"); hdrLength = (2 * NLM_TARGET_LONG_SIZE + (ds ? 8 : 0) + nlm_custom_header (abfd)->hdrLength); put_word (abfd, hdrLength, thdr.length); @@ -832,14 +831,14 @@ nlm_swap_auxiliary_headers_out (bfd *abfd) { Nlm_External_Custom_Header thdr; - memcpy (thdr.stamp, "CuStHeAd", 8); + LITMEMCPY (thdr.stamp, "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); + LITMEMCPY (thdr.dataStamp, "CyGnUsEx"); amt = sizeof (thdr); if (bfd_bwrite ((void *) &thdr, amt, abfd) != amt) return FALSE;