diff options
author | Steve Chamberlain <steve@cygnus> | 1991-11-04 00:35:19 +0000 |
---|---|---|
committer | Steve Chamberlain <steve@cygnus> | 1991-11-04 00:35:19 +0000 |
commit | 522e0ead63af9429fce9cf7678df52a625d76228 (patch) | |
tree | 32e6c59ee752b6781c608df39633102524589a88 /bfd/aoutf1.h | |
parent | aeedc30e259cf538ed162639a75060b9c343f6f9 (diff) | |
download | gdb-522e0ead63af9429fce9cf7678df52a625d76228.zip gdb-522e0ead63af9429fce9cf7678df52a625d76228.tar.gz gdb-522e0ead63af9429fce9cf7678df52a625d76228.tar.bz2 |
Sat Nov 2 14:26:03 1991 Steve Chamberlain (steve at cygnus.com)
* Makefile.in: Added ctor.c
* archures.c (bfd_default_arch_struct) added
bfd_default_reloc_type_lookup.
* coffcode.h: removed a load of #if 0ed code.
(coff_compute_file_section_positions): now works out the section
alignment and size correctly in all cases.
(coff_get_symtab): looks for contructor symbols and calls the
right function when they're found. (coff_canonicalize_reloc):
knows when a section is full of contructors and does the right
thing.
* cpu-m88k.c: Added default_reloc_type lookup to the architecture
description.
* libbfd-in.h: (bfd_default_reloc_type_lookup) defun added.
* libcoff.h: removed #if 0ed code
* reloc.c: (bfd_reloc_code_real_type) added BFD_RELOC_CTOR for
arch independent contructtor relocation type.
(bfd_reloc_type_lookup): removed the comment "this will go away"
since it won't. (bfd_howto_32): stolen from 88k, this is a 32bit
reloc which is used when BFD_RELOC_CTOR falls through to give a
default 32bit reloc for contructors.
(bfd_default_reloc_type_lookup): added.
* aoutf1.h: fixed SEGMENT_SIZE typo.
Diffstat (limited to 'bfd/aoutf1.h')
-rw-r--r-- | bfd/aoutf1.h | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/bfd/aoutf1.h b/bfd/aoutf1.h index 622611c..d6f28a3 100644 --- a/bfd/aoutf1.h +++ b/bfd/aoutf1.h @@ -106,6 +106,7 @@ sunos4_callback (abfd) struct internal_exec *execp = exec_hdr (abfd); enum bfd_architecture arch; long machine; + WORK_OUT_FILE_POSITIONS(abfd, execp); /* Determine the architecture and machine type of the object file. */ @@ -117,11 +118,13 @@ sunos4_callback (abfd) break; case M_68010: + case M_HP200: arch = bfd_arch_m68k; machine = 68010; break; case M_68020: + case M_HP300: arch = bfd_arch_m68k; machine = 68020; break; @@ -141,6 +144,11 @@ sunos4_callback (abfd) machine = 0; break; + case M_HPUX: + arch = bfd_arch_m68k; + machine = 0; + break; + default: arch = bfd_arch_obscure; machine = 0; @@ -148,10 +156,34 @@ sunos4_callback (abfd) } bfd_set_arch_mach(abfd, arch, machine); choose_reloc_size(abfd); + adata(abfd)->page_size = PAGE_SIZE; +#ifdef SEGMENT_SIZE + adata(abfd)->segment_size = SEGMENT_SIZE; +#else + adata(abfd)->segment_size = PAGE_SIZE; +#endif + adata(abfd)->exec_bytes_size = EXEC_BYTES_SIZE; + return abfd->xvec; } +static boolean +DEFUN(sunos_mkobject,(abfd), + bfd *abfd) +{ + if (NAME(aout,mkobject)(abfd) == false) + return false; + adata(abfd)->page_size = PAGE_SIZE; +#ifdef SEGMENT_SIZE + adata(abfd)->page_size = SEGMENT_SIZE; +#else + adata(abfd)->segment_size = PAGE_SIZE; +#endif + adata(abfd)->exec_bytes_size = EXEC_BYTES_SIZE; + return true; +} + /* Write an object file in SunOS format. Section contents have already been written. We write the file header, symbols, and relocation. */ @@ -495,8 +527,8 @@ DEFUN(sunos4_core_file_p,(abfd), core_stacksec (abfd)->vma = (core->c_stacktop - core->c_ssize); core_datasec (abfd)->vma = N_DATADDR(core->c_aouthdr); - core_regsec (abfd)->vma = -1; - core_reg2sec (abfd)->vma = -1; + core_regsec (abfd)->vma = 0; + core_reg2sec (abfd)->vma = 0; core_stacksec (abfd)->filepos = core->c_len + core->c_dsize; core_datasec (abfd)->filepos = core->c_len; @@ -606,7 +638,7 @@ bfd_target VECNAME = {_bfd_dummy_target, NAME(sunos,object_p), bfd_generic_archive_p, sunos4_core_file_p}, - {bfd_false, NAME(aout,mkobject), + {bfd_false, sunos_mkobject, _bfd_generic_mkarchive, bfd_false}, {bfd_false, NAME(aout,sunos4_write_object_contents), /* bfd_write_contents */ _bfd_write_archive_contents, bfd_false}, |