mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 19:14:52 +08:00
* som.h (som_exec_data): New field "version_id".
* som.c (som_object_setup): Record the version_id if it exists. (som_prep_headers): Do not initialize version_id here. (som_finish_writing): Initialize version_id here.
This commit is contained in:
parent
e24d7c123d
commit
1761749581
@ -1,4 +1,12 @@
|
||||
2001-10-05 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||||
2001-10-05 Jeff Law <law@redhat.com>
|
||||
|
||||
* som.h (som_exec_data): New field "version_id".
|
||||
* som.c (som_object_setup): Record the version_id if it
|
||||
exists.
|
||||
(som_prep_headers): Do not initialize version_id here.
|
||||
(som_finish_writing): Initialize version_id here.
|
||||
|
||||
2000-10-05 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||||
|
||||
* elf32-mips.c (elf_mips_howto_table): Fix some relocation howtos
|
||||
according to the MIPS/SGI ELF64 ABI Draft.
|
||||
|
13
bfd/som.c
13
bfd/som.c
@ -1814,6 +1814,8 @@ som_object_setup (abfd, file_hdrp, aux_hdrp, current_offset)
|
||||
obj_som_exec_data (abfd)->exec_flags = aux_hdrp->exec_flags;
|
||||
}
|
||||
|
||||
obj_som_exec_data (abfd)->version_id = file_hdrp->version_id;
|
||||
|
||||
bfd_default_set_arch_mach (abfd, bfd_arch_hppa, pa10);
|
||||
bfd_get_symcount (abfd) = file_hdrp->symbol_total;
|
||||
|
||||
@ -2320,9 +2322,6 @@ som_prep_headers (abfd)
|
||||
else
|
||||
file_hdr->a_magic = RELOC_MAGIC;
|
||||
|
||||
/* Only new format SOM is supported. */
|
||||
file_hdr->version_id = NEW_VERSION_ID;
|
||||
|
||||
/* These fields are optional, and embedding timestamps is not always
|
||||
a wise thing to do, it makes comparing objects during a multi-stage
|
||||
bootstrap difficult. */
|
||||
@ -3688,6 +3687,14 @@ som_finish_writing (abfd)
|
||||
unsigned int total_reloc_size;
|
||||
bfd_size_type amt;
|
||||
|
||||
/* We must set up the version identifier here as objcopy/strip copy
|
||||
private BFD data too late for us to handle this in som_begin_writing. */
|
||||
if (obj_som_exec_data (abfd)
|
||||
&& obj_som_exec_data (abfd)->version_id)
|
||||
obj_som_file_hdr (abfd)->version_id = obj_som_exec_data (abfd)->version_id;
|
||||
else
|
||||
obj_som_file_hdr (abfd)->version_id = NEW_VERSION_ID;
|
||||
|
||||
/* Next is the symbol table. These are fixed length records.
|
||||
|
||||
Count the number of symbols to determine how much room is needed
|
||||
|
@ -94,6 +94,10 @@ struct som_exec_data
|
||||
null pointer dereferencing is allowed and the like. */
|
||||
long exec_flags;
|
||||
|
||||
/* We must preserve the version identifier too. Some versions
|
||||
of the HP linker do not grok NEW_VERSION_ID for reasons unknown. */
|
||||
unsigned int version_id;
|
||||
|
||||
/* Add more stuff here as needed. Good examples of information
|
||||
we might want to pass would be presumed_dp, entry_* and maybe
|
||||
others from the file header. */
|
||||
|
Loading…
Reference in New Issue
Block a user