* syms.c: New function bfd_decode_symclass, used by nm printer.
New function bfd_stab_name to look up string name of stab code.
+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.
+
Thu Oct 31 18:23:06 1991 John Gilmore (gnu at cygnus.com)
* coff-rs6000.c: Change name to "aixcoff-rs6000", to avoid
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. */
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;
machine = 0;
break;
+ case M_HPUX:
+ arch = bfd_arch_m68k;
+ machine = 0;
+ break;
+
default:
arch = bfd_arch_obscure;
machine = 0;
}
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. */
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;
{_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},