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.
This commit is contained in:
parent
aeedc30e25
commit
522e0ead63
|
@ -12,6 +12,31 @@ Sun Nov 3 12:07:08 1991 Per Bothner (bothner at cygnus.com)
|
|||
* 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
|
||||
|
|
38
bfd/aoutf1.h
38
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},
|
||||
|
|
|
@ -101,7 +101,7 @@ the entry points as they accumulate.
|
|||
*; PROTO(void, bfd_constructor_entry,
|
||||
(bfd *abfd,
|
||||
asymbol **symbol_ptr_ptr,
|
||||
CONST char*type);
|
||||
CONST char*type));
|
||||
|
||||
*/
|
||||
|
||||
|
|
Loading…
Reference in New Issue