Support R_SPARC_WDISP10 and R_SPARC_H34.
[external/binutils.git] / bfd / nlmswap.h
index 5a9ce72..3c0c8b3 100644 (file)
@@ -1,24 +1,26 @@
 /* NLM (NetWare Loadable Module) swapping routines for BFD.
-   Copyright (C) 1993 Free Software Foundation, Inc.
+   Copyright 1993, 2000, 2001, 2005, 2007 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, using ELF support as the
    template.
 
-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 3 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 /* Although this is a header file, it defines functions.  It is
    included by NLM backends to define swapping functions that vary
@@ -29,129 +31,123 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    At the moment this is only needed for one structure, the fixed NLM
    file header.  */
 
-static void nlm_swap_fixed_header_in PARAMS ((bfd *, PTR,
-                                             Nlm_Internal_Fixed_Header *));
-static void nlm_swap_fixed_header_out PARAMS ((bfd *,
-                                              Nlm_Internal_Fixed_Header *,
-                                              PTR));
-
 /* Translate an NLM fixed length file header in external format into an NLM
-   file header in internal format. */
+   file header in internal format.  */
 
 static void
-nlm_swap_fixed_header_in (abfd, realsrc, dst)
-     bfd *abfd;
-     PTR realsrc;
-     Nlm_Internal_Fixed_Header *dst;
+nlm_swap_fixed_header_in (bfd *abfd,
+                         void * realsrc,
+                         Nlm_Internal_Fixed_Header *dst)
 {
   Nlm_External_Fixed_Header *src = (Nlm_External_Fixed_Header *) realsrc;
+
   memcpy (dst->signature, src->signature, NLM_SIGNATURE_SIZE);
   memcpy (dst->moduleName, src->moduleName, NLM_MODULE_NAME_SIZE);
   dst->version =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->version);
+    H_GET_32 (abfd, src->version);
   dst->codeImageOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->codeImageOffset);
+    H_GET_32 (abfd, src->codeImageOffset);
   dst->codeImageSize =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->codeImageSize);
+    H_GET_32 (abfd, src->codeImageSize);
   dst->dataImageOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->dataImageOffset);
+    H_GET_32 (abfd, src->dataImageOffset);
   dst->dataImageSize =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->dataImageSize);
+    H_GET_32 (abfd, src->dataImageSize);
   dst->uninitializedDataSize =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->uninitializedDataSize);
+    H_GET_32 (abfd, src->uninitializedDataSize);
   dst->customDataOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->customDataOffset);
+    H_GET_32 (abfd, src->customDataOffset);
   dst->customDataSize =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->customDataSize);
+    H_GET_32 (abfd, src->customDataSize);
   dst->moduleDependencyOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->moduleDependencyOffset);
+    H_GET_32 (abfd, src->moduleDependencyOffset);
   dst->numberOfModuleDependencies =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->numberOfModuleDependencies);
+    H_GET_32 (abfd, src->numberOfModuleDependencies);
   dst->relocationFixupOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->relocationFixupOffset);
+    H_GET_32 (abfd, src->relocationFixupOffset);
   dst->numberOfRelocationFixups =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->numberOfRelocationFixups);
+    H_GET_32 (abfd, src->numberOfRelocationFixups);
   dst->externalReferencesOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->externalReferencesOffset);
+    H_GET_32 (abfd, src->externalReferencesOffset);
   dst->numberOfExternalReferences =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->numberOfExternalReferences);
+    H_GET_32 (abfd, src->numberOfExternalReferences);
   dst->publicsOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->publicsOffset);
+    H_GET_32 (abfd, src->publicsOffset);
   dst->numberOfPublics =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->numberOfPublics);
+    H_GET_32 (abfd, src->numberOfPublics);
   dst->debugInfoOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->debugInfoOffset);
+    H_GET_32 (abfd, src->debugInfoOffset);
   dst->numberOfDebugRecords =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->numberOfDebugRecords);
+    H_GET_32 (abfd, src->numberOfDebugRecords);
   dst->codeStartOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->codeStartOffset);
+    H_GET_32 (abfd, src->codeStartOffset);
   dst->exitProcedureOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->exitProcedureOffset);
+    H_GET_32 (abfd, src->exitProcedureOffset);
   dst->checkUnloadProcedureOffset =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->checkUnloadProcedureOffset);
+    H_GET_32 (abfd, src->checkUnloadProcedureOffset);
   dst->moduleType =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->moduleType);
+    H_GET_32 (abfd, src->moduleType);
   dst->flags =
-    bfd_h_get_32 (abfd, (bfd_byte *) src->flags);
+    H_GET_32 (abfd, src->flags);
 }
 
 /* Translate an NLM fixed length file header in internal format into
-   an NLM file header in external format. */
+   an NLM file header in external format.  */
 
 static void
-nlm_swap_fixed_header_out (abfd, src, realdst)
-     bfd *abfd;
-     Nlm_Internal_Fixed_Header *src;
-     PTR realdst;
+nlm_swap_fixed_header_out (bfd *abfd,
+                          Nlm_Internal_Fixed_Header *src,
+                          void * realdst)
 {
   Nlm_External_Fixed_Header *dst = (Nlm_External_Fixed_Header *) realdst;
+
   memset (dst, 0, sizeof *dst);
   memcpy (dst->signature, src->signature, NLM_SIGNATURE_SIZE);
   memcpy (dst->moduleName, src->moduleName, NLM_MODULE_NAME_SIZE);
-  bfd_h_put_32 (abfd, (bfd_vma) src->version,
-               (bfd_byte *) dst->version);
-  bfd_h_put_32 (abfd, (bfd_vma) src->codeImageOffset,
-               (bfd_byte *) dst->codeImageOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->codeImageSize,
-               (bfd_byte *) dst->codeImageSize);
-  bfd_h_put_32 (abfd, (bfd_vma) src->dataImageOffset,
-               (bfd_byte *) dst->dataImageOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->dataImageSize,
-               (bfd_byte *) dst->dataImageSize);
-  bfd_h_put_32 (abfd, (bfd_vma) src->uninitializedDataSize,
-               (bfd_byte *) dst->uninitializedDataSize);
-  bfd_h_put_32 (abfd, (bfd_vma) src->customDataOffset,
-               (bfd_byte *) dst->customDataOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->customDataSize,
-               (bfd_byte *) dst->customDataSize);
-  bfd_h_put_32 (abfd, (bfd_vma) src->moduleDependencyOffset,
-               (bfd_byte *) dst->moduleDependencyOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->numberOfModuleDependencies,
-               (bfd_byte *) dst->numberOfModuleDependencies);
-  bfd_h_put_32 (abfd, (bfd_vma) src->relocationFixupOffset,
-               (bfd_byte *) dst->relocationFixupOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->numberOfRelocationFixups,
-               (bfd_byte *) dst->numberOfRelocationFixups);
-  bfd_h_put_32 (abfd, (bfd_vma) src->externalReferencesOffset,
-               (bfd_byte *) dst->externalReferencesOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->numberOfExternalReferences,
-               (bfd_byte *) dst->numberOfExternalReferences);
-  bfd_h_put_32 (abfd, (bfd_vma) src->publicsOffset,
-               (bfd_byte *) dst->publicsOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->numberOfPublics,
-               (bfd_byte *) dst->numberOfPublics);
-  bfd_h_put_32 (abfd, (bfd_vma) src->debugInfoOffset,
-               (bfd_byte *) dst->debugInfoOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->numberOfDebugRecords,
-               (bfd_byte *) dst->numberOfDebugRecords);
-  bfd_h_put_32 (abfd, (bfd_vma) src->codeStartOffset,
-               (bfd_byte *) dst->codeStartOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->exitProcedureOffset,
-               (bfd_byte *) dst->exitProcedureOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->checkUnloadProcedureOffset,
-               (bfd_byte *) dst->checkUnloadProcedureOffset);
-  bfd_h_put_32 (abfd, (bfd_vma) src->moduleType,
-               (bfd_byte *) dst->moduleType);
-  bfd_h_put_32 (abfd, (bfd_vma) src->flags,
-               (bfd_byte *) dst->flags);
+  H_PUT_32 (abfd, src->version,
+           dst->version);
+  H_PUT_32 (abfd, src->codeImageOffset,
+           dst->codeImageOffset);
+  H_PUT_32 (abfd, src->codeImageSize,
+           dst->codeImageSize);
+  H_PUT_32 (abfd, src->dataImageOffset,
+           dst->dataImageOffset);
+  H_PUT_32 (abfd, src->dataImageSize,
+           dst->dataImageSize);
+  H_PUT_32 (abfd, src->uninitializedDataSize,
+           dst->uninitializedDataSize);
+  H_PUT_32 (abfd, src->customDataOffset,
+           dst->customDataOffset);
+  H_PUT_32 (abfd, src->customDataSize,
+           dst->customDataSize);
+  H_PUT_32 (abfd, src->moduleDependencyOffset,
+           dst->moduleDependencyOffset);
+  H_PUT_32 (abfd, src->numberOfModuleDependencies,
+           dst->numberOfModuleDependencies);
+  H_PUT_32 (abfd, src->relocationFixupOffset,
+           dst->relocationFixupOffset);
+  H_PUT_32 (abfd, src->numberOfRelocationFixups,
+           dst->numberOfRelocationFixups);
+  H_PUT_32 (abfd, src->externalReferencesOffset,
+           dst->externalReferencesOffset);
+  H_PUT_32 (abfd, src->numberOfExternalReferences,
+           dst->numberOfExternalReferences);
+  H_PUT_32 (abfd, src->publicsOffset,
+           dst->publicsOffset);
+  H_PUT_32 (abfd, src->numberOfPublics,
+           dst->numberOfPublics);
+  H_PUT_32 (abfd, src->debugInfoOffset,
+           dst->debugInfoOffset);
+  H_PUT_32 (abfd, src->numberOfDebugRecords,
+           dst->numberOfDebugRecords);
+  H_PUT_32 (abfd, src->codeStartOffset,
+           dst->codeStartOffset);
+  H_PUT_32 (abfd, src->exitProcedureOffset,
+           dst->exitProcedureOffset);
+  H_PUT_32 (abfd, src->checkUnloadProcedureOffset,
+           dst->checkUnloadProcedureOffset);
+  H_PUT_32 (abfd, src->moduleType,
+           dst->moduleType);
+  H_PUT_32 (abfd, src->flags,
+           dst->flags);
 }