gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / libiberty / simple-object-coff.c
index 9ba1dd4bac024df6bd3abf44494e6c2ba253a7dc..104cd560f61cbe502622d7fea8c014ac050dbc4a 100644 (file)
@@ -1,5 +1,5 @@
 /* simple-object-coff.c -- routines to manipulate COFF object files.
-   Copyright 2010 Free Software Foundation, Inc.
+   Copyright (C) 2010-2020 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Google.
 
 This program is free software; you can redistribute it and/or modify it
@@ -308,7 +308,8 @@ simple_object_coff_read_strtab (simple_object_read *sobj, size_t *strtab_size,
   size_t strsize;
   char *strtab;
 
-  strtab_offset = ocr->symptr + ocr->nsyms * sizeof (struct external_syment);
+  strtab_offset = sobj->offset + ocr->symptr
+                 + ocr->nsyms * sizeof (struct external_syment);
   if (!simple_object_internal_read (sobj->descriptor, strtab_offset,
                                    strsizebuf, 4, errmsg, err))
     return NULL;
@@ -456,15 +457,14 @@ simple_object_coff_release_read (void *data)
 /* Compare two attributes structures.  */
 
 static const char *
-simple_object_coff_attributes_compare (void *data1, void *data2, int *err)
+simple_object_coff_attributes_merge (void *todata, void *fromdata, int *err)
 {
-  struct simple_object_coff_attributes *attrs1 =
-    (struct simple_object_coff_attributes *) data1;
-  struct simple_object_coff_attributes *attrs2 =
-    (struct simple_object_coff_attributes *) data2;
+  struct simple_object_coff_attributes *to =
+    (struct simple_object_coff_attributes *) todata;
+  struct simple_object_coff_attributes *from =
+    (struct simple_object_coff_attributes *) fromdata;
 
-  if (attrs1->magic != attrs2->magic
-      || attrs1->is_big_endian != attrs2->is_big_endian)
+  if (to->magic != from->magic || to->is_big_endian != from->is_big_endian)
     {
       *err = 0;
       return "COFF object format mismatch";
@@ -796,9 +796,10 @@ const struct simple_object_functions simple_object_coff_functions =
   simple_object_coff_find_sections,
   simple_object_coff_fetch_attributes,
   simple_object_coff_release_read,
-  simple_object_coff_attributes_compare,
+  simple_object_coff_attributes_merge,
   simple_object_coff_release_attributes,
   simple_object_coff_start_write,
   simple_object_coff_write_to_file,
-  simple_object_coff_release_write
+  simple_object_coff_release_write,
+  NULL
 };
This page took 0.025657 seconds and 4 git commands to generate.