X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Flibaout.h;h=818b10c95e8e7c136a749c5e150140bf6a964b27;hb=87f8eb977e936160d4c332d88a8bce3db690521c;hp=a08af0a11fa5f06b3ee08c988fd0b28c15b914c8;hpb=21e45f8225c9feda42abb5bfe8b20f8d695ef4c1;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/libaout.h b/bfd/libaout.h index a08af0a11f..818b10c95e 100644 --- a/bfd/libaout.h +++ b/bfd/libaout.h @@ -1,5 +1,6 @@ /* BFD back-end data structures for a.out (and similar) files. - Copyright 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. + Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 1998 + Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -32,22 +33,39 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #if ARCH_SIZE==64 #define GET_WORD bfd_h_get_64 #define GET_SWORD bfd_h_get_signed_64 +#define GET_MAGIC bfd_h_get_32 #define PUT_WORD bfd_h_put_64 +#define PUT_MAGIC bfd_h_put_32 #ifndef NAME #define NAME(x,y) CAT3(x,_64_,y) #endif #define JNAME(x) CAT(x,_64) #define BYTES_IN_WORD 8 +#else +#if ARCH_SIZE==16 +#define GET_WORD bfd_h_get_16 +#define GET_SWORD bfd_h_get_signed_16 +#define GET_MAGIC bfd_h_get_16 +#define PUT_WORD bfd_h_put_16 +#define PUT_MAGIC bfd_h_put_16 +#ifndef NAME +#define NAME(x,y) CAT3(x,_16_,y) +#endif +#define JNAME(x) CAT(x,_16) +#define BYTES_IN_WORD 2 #else /* ARCH_SIZE == 32 */ #define GET_WORD bfd_h_get_32 #define GET_SWORD bfd_h_get_signed_32 +#define GET_MAGIC bfd_h_get_32 #define PUT_WORD bfd_h_put_32 +#define PUT_MAGIC bfd_h_put_32 #ifndef NAME #define NAME(x,y) CAT3(x,_32_,y) #endif #define JNAME(x) CAT(x,_32) #define BYTES_IN_WORD 4 #endif /* ARCH_SIZE==32 */ +#endif /* ARCH_SIZE==64 */ /* Declare at file level, since used in parameter lists, which have weird scope. */ @@ -105,6 +123,12 @@ struct aout_backend_data If not, the text section starts on the next page. */ unsigned char text_includes_header; + /* If this flag is set, then if the entry address is not in the + first SEGMENT_SIZE bytes of the text section, it is taken to be + the address of the start of the text section. This can be useful + for kernels. */ + unsigned char entry_is_text_address; + /* The value to pass to N_SET_FLAGS. */ unsigned char exec_hdr_flags; @@ -222,11 +246,24 @@ enum machine_type { M_68K4K_NETBSD = 136, /* NetBSD/m68k4k binary */ M_532_NETBSD = 137, /* NetBSD/ns32k binary */ M_SPARC_NETBSD = 138, /* NetBSD/sparc binary */ + M_PMAX_NETBSD = 139, /* NetBSD/pmax (MIPS little-endian) binary */ + M_VAX_NETBSD = 140, /* NetBSD/vax binary */ + M_ALPHA_NETBSD = 141, /* NetBSD/alpha binary */ + M_ARM6_NETBSD = 143, /* NetBSD/arm32 binary */ + M_SPARCLET_1 = 147, /* 0x93, reserved */ M_MIPS1 = 151, /* MIPS R2000/R3000 binary */ M_MIPS2 = 152, /* MIPS R4000/R6000 binary */ + M_SPARCLET_2 = 163, /* 0xa3, reserved */ + M_SPARCLET_3 = 179, /* 0xb3, reserved */ + M_SPARCLET_4 = 195, /* 0xc3, reserved */ M_HP200 = 200, /* HP 200 (68010) BSD binary */ M_HP300 = (300 % 256), /* HP 300 (68020+68881) BSD binary */ - M_HPUX = (0x20c % 256)/* HP 200/300 HPUX binary */ + M_HPUX = (0x20c % 256), /* HP 200/300 HPUX binary */ + M_SPARCLET_5 = 211, /* 0xd3, reserved */ + M_SPARCLET_6 = 227, /* 0xe3, reserved */ + /* M_SPARCLET_7 = 243 / * 0xf3, reserved */ + M_SPARCLITE_LE = 243, + M_CRIS = 255 /* Axis CRIS binary. */ }; #define N_DYNAMIC(exec) ((exec).a_info & 0x80000000) @@ -547,6 +584,8 @@ NAME(aout,bfd_free_cached_info) PARAMS ((bfd *)); /* A.out uses the generic versions of these routines... */ +#define aout_16_get_section_contents _bfd_generic_get_section_contents + #define aout_32_get_section_contents _bfd_generic_get_section_contents #define aout_64_get_section_contents _bfd_generic_get_section_contents @@ -554,8 +593,8 @@ NAME(aout,bfd_free_cached_info) PARAMS ((bfd *)); #define NO_WRITE_HEADER_KLUDGE 0 #endif -#ifndef aout_32_bfd_is_local_label -#define aout_32_bfd_is_local_label bfd_generic_is_local_label +#ifndef aout_32_bfd_is_local_label_name +#define aout_32_bfd_is_local_label_name bfd_generic_is_local_label_name #endif #ifndef WRITE_HEADERS