/* simple-object-coff.c -- routines to manipulate COFF object files.
- Copyright 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010-2019 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Google.
This program is free software; you can redistribute it and/or modify it
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;
/* 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";
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
};