aboutsummaryrefslogtreecommitdiff
path: root/bfd/aoutf1.h
diff options
context:
space:
mode:
authorSteve Chamberlain <steve@cygnus>1991-11-04 00:35:19 +0000
committerSteve Chamberlain <steve@cygnus>1991-11-04 00:35:19 +0000
commit522e0ead63af9429fce9cf7678df52a625d76228 (patch)
tree32e6c59ee752b6781c608df39633102524589a88 /bfd/aoutf1.h
parentaeedc30e259cf538ed162639a75060b9c343f6f9 (diff)
downloadgdb-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.h38
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},