version 1.4, 2016/12/14 21:47:51 |
version 1.5, 2018/04/14 15:49:38 |
|
|
/* A.out "format 1" file handling code for BFD. |
/* A.out "format 1" file handling code for BFD. |
Copyright (C) 1990-2015 Free Software Foundation, Inc. |
Copyright (C) 1990-2016 Free Software Foundation, Inc. |
Written by Cygnus Support. |
Written by Cygnus Support. |
|
|
This file is part of BFD, the Binary File Descriptor library. |
This file is part of BFD, the Binary File Descriptor library. |
Line 155 sunos_set_arch_mach (bfd *abfd, enum mac |
|
Line 155 sunos_set_arch_mach (bfd *abfd, enum mac |
|
bfd_set_arch_mach (abfd, arch, machine); |
bfd_set_arch_mach (abfd, arch, machine); |
} |
} |
|
|
#define SET_ARCH_MACH(ABFD, EXEC) \ |
#define SET_ARCH_MACH(ABFD, EXECP) \ |
NAME(sunos,set_arch_mach) (ABFD, N_MACHTYPE (EXEC)); \ |
NAME(sunos,set_arch_mach) (ABFD, N_MACHTYPE (EXECP)); \ |
choose_reloc_size(ABFD); |
choose_reloc_size(ABFD); |
|
|
/* Determine the size of a relocation entry, based on the architecture. */ |
/* Determine the size of a relocation entry, based on the architecture. */ |
Line 194 sunos_write_object_contents (bfd *abfd) |
|
Line 194 sunos_write_object_contents (bfd *abfd) |
|
switch (bfd_get_mach (abfd)) |
switch (bfd_get_mach (abfd)) |
{ |
{ |
case bfd_mach_m68000: |
case bfd_mach_m68000: |
N_SET_MACHTYPE (*execp, M_UNKNOWN); |
N_SET_MACHTYPE (execp, M_UNKNOWN); |
break; |
break; |
case bfd_mach_m68010: |
case bfd_mach_m68010: |
N_SET_MACHTYPE (*execp, M_68010); |
N_SET_MACHTYPE (execp, M_68010); |
break; |
break; |
default: |
default: |
case bfd_mach_m68020: |
case bfd_mach_m68020: |
N_SET_MACHTYPE (*execp, M_68020); |
N_SET_MACHTYPE (execp, M_68020); |
break; |
break; |
} |
} |
break; |
break; |
Line 209 sunos_write_object_contents (bfd *abfd) |
|
Line 209 sunos_write_object_contents (bfd *abfd) |
|
switch (bfd_get_mach (abfd)) |
switch (bfd_get_mach (abfd)) |
{ |
{ |
case bfd_mach_sparc_sparclet: |
case bfd_mach_sparc_sparclet: |
N_SET_MACHTYPE (*execp, M_SPARCLET); |
N_SET_MACHTYPE (execp, M_SPARCLET); |
break; |
break; |
case bfd_mach_sparc_sparclite_le: |
case bfd_mach_sparc_sparclite_le: |
N_SET_MACHTYPE (*execp, M_SPARCLITE_LE); |
N_SET_MACHTYPE (execp, M_SPARCLITE_LE); |
break; |
break; |
default: |
default: |
N_SET_MACHTYPE (*execp, M_SPARC); |
N_SET_MACHTYPE (execp, M_SPARC); |
break; |
break; |
} |
} |
break; |
break; |
case bfd_arch_i386: |
case bfd_arch_i386: |
N_SET_MACHTYPE (*execp, M_386); |
N_SET_MACHTYPE (execp, M_386); |
break; |
break; |
default: |
default: |
N_SET_MACHTYPE (*execp, M_UNKNOWN); |
N_SET_MACHTYPE (execp, M_UNKNOWN); |
} |
} |
|
|
choose_reloc_size (abfd); |
choose_reloc_size (abfd); |
|
|
N_SET_FLAGS (*execp, aout_backend_info (abfd)->exec_hdr_flags); |
N_SET_FLAGS (execp, aout_backend_info (abfd)->exec_hdr_flags); |
|
|
N_SET_DYNAMIC (*execp, (long)(bfd_get_file_flags (abfd) & DYNAMIC)); |
N_SET_DYNAMIC (execp, (long)(bfd_get_file_flags (abfd) & DYNAMIC)); |
|
|
WRITE_HEADERS (abfd, execp); |
WRITE_HEADERS (abfd, execp); |
|
|
Line 397 swapcore_sun3 (bfd *abfd, char *ext, str |
|
Line 397 swapcore_sun3 (bfd *abfd, char *ext, str |
|
intcore->c_signo = H_GET_32 (abfd, &extcore->c_signo); |
intcore->c_signo = H_GET_32 (abfd, &extcore->c_signo); |
intcore->c_tsize = H_GET_32 (abfd, &extcore->c_tsize); |
intcore->c_tsize = H_GET_32 (abfd, &extcore->c_tsize); |
intcore->c_dsize = H_GET_32 (abfd, &extcore->c_dsize); |
intcore->c_dsize = H_GET_32 (abfd, &extcore->c_dsize); |
intcore->c_data_addr = N_DATADDR (intcore->c_aouthdr); |
intcore->c_data_addr = N_DATADDR (&intcore->c_aouthdr); |
intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize); |
intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize); |
memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname)); |
memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname)); |
intcore->fp_stuff_pos = offsetof (struct external_sun3_core, fp_stuff); |
intcore->fp_stuff_pos = offsetof (struct external_sun3_core, fp_stuff); |
Line 432 swapcore_sparc (bfd *abfd, char *ext, st |
|
Line 432 swapcore_sparc (bfd *abfd, char *ext, st |
|
intcore->c_signo = H_GET_32 (abfd, &extcore->c_signo); |
intcore->c_signo = H_GET_32 (abfd, &extcore->c_signo); |
intcore->c_tsize = H_GET_32 (abfd, &extcore->c_tsize); |
intcore->c_tsize = H_GET_32 (abfd, &extcore->c_tsize); |
intcore->c_dsize = H_GET_32 (abfd, &extcore->c_dsize); |
intcore->c_dsize = H_GET_32 (abfd, &extcore->c_dsize); |
intcore->c_data_addr = N_DATADDR (intcore->c_aouthdr); |
intcore->c_data_addr = N_DATADDR (&intcore->c_aouthdr); |
intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize); |
intcore->c_ssize = H_GET_32 (abfd, &extcore->c_ssize); |
memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname)); |
memcpy (intcore->c_cmdname, extcore->c_cmdname, sizeof (intcore->c_cmdname)); |
intcore->fp_stuff_pos = offsetof (struct external_sparc_core, fp_stuff); |
intcore->fp_stuff_pos = offsetof (struct external_sparc_core, fp_stuff); |