diff options
author | cvs2svn <> | 2000-04-04 18:32:33 +0400 |
---|---|---|
committer | cvs2svn <> | 2000-04-04 18:32:33 +0400 |
commit | 69b6206fef6dd986a554334b6519b0543cab4f5e (patch) | |
tree | 1092995ccf9aad86f4c3e43be94406c03d02a5cd /include/coff/sh.h | |
parent | 929ce68fe67a171b2e3ff506450ca893ed6532b3 (diff) |
This commit was manufactured by cvs2svn to create branch 'binutils-
2_10-branch'.
Sprout from cygnus 2000-02-22 16:18:13 UTC Ian Lance Taylor <iant@google.com> 'import libiberty from egcs'
Cherrypick from master 2000-03-30 02:19:55 UTC Jason Merrill <jason@redhat.com> ' * configure.in: -linux-gnu*, not -linux-gnu.':
ChangeLog
Makefile.in
config.guess
config.sub
config/ChangeLog
config/mh-i370pic
config/mt-aix43
config/mt-i370pic
config/mt-wince
configure
configure.in
include/ChangeLog
include/ansidecl.h
include/aout/ChangeLog
include/aout/aout64.h
include/bfdlink.h
include/coff/ChangeLog
include/coff/arm.h
include/coff/internal.h
include/coff/mcore.h
include/coff/mipspe.h
include/coff/pe.h
include/coff/sh.h
include/dis-asm.h
include/elf/ChangeLog
include/elf/arm-oabi.h
include/elf/arm.h
include/elf/avr.h
include/elf/common.h
include/elf/dwarf.h
include/elf/dwarf2.h
include/elf/hppa.h
include/elf/i370.h
include/elf/i386.h
include/elf/i960.h
include/elf/m32r.h
include/elf/m68k.h
include/elf/mcore.h
include/elf/mips.h
include/elf/mn10300.h
include/elf/pj.h
include/elf/reloc-macros.h
include/elf/sh.h
include/elf/sparc.h
include/hashtab.h
include/hp-symtab.h
include/opcode/ChangeLog
include/opcode/alpha.h
include/opcode/cgen.h
include/opcode/d10v.h
include/opcode/d30v.h
include/opcode/hppa.h
include/opcode/i370.h
include/opcode/i386.h
include/opcode/m68k.h
include/opcode/mips.h
include/opcode/mn10300.h
include/opcode/pj.h
include/opcode/ppc.h
include/partition.h
include/remote-sim.h
include/sim-d10v.h
ltconfig
ltmain.sh
mkdep
texinfo/texinfo.tex
Cherrypick from master 2000-04-04 14:32:32 UTC Alan Modra <modra@gmail.com> 'Move translated part of bug report string back into .c files so':
include/bin-bugs.h
Delete:
config/mh-aix43
configure.bat
include/wait.h
makeall.bat
Diffstat (limited to 'include/coff/sh.h')
-rw-r--r-- | include/coff/sh.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/coff/sh.h b/include/coff/sh.h index 41957df7f..f7271f210 100644 --- a/include/coff/sh.h +++ b/include/coff/sh.h @@ -16,10 +16,13 @@ struct external_filehdr { #define SH_ARCH_MAGIC_BIG 0x0500 #define SH_ARCH_MAGIC_LITTLE 0x0550 /* Little endian SH */ +#define SH_ARCH_MAGIC_WINCE 0x01a2 /* Windows CE - little endian */ +#define SH_PE_MAGIC 0x010b #define SHBADMAG(x) \ (((x).f_magic!=SH_ARCH_MAGIC_BIG) && \ + ((x).f_magic!=SH_ARCH_MAGIC_WINCE) && \ ((x).f_magic!=SH_ARCH_MAGIC_LITTLE)) #define FILHDR struct external_filehdr @@ -48,6 +51,12 @@ AOUTHDR; +/* Define some NT default values. */ +/* #define NT_IMAGE_BASE 0x400000 moved to internal.h */ +#define NT_SECTION_ALIGNMENT 0x1000 +#define NT_FILE_ALIGNMENT 0x200 +#define NT_DEF_RESERVE 0x100000 +#define NT_DEF_COMMIT 0x1000 /********************** SECTION HEADER **********************/ @@ -89,14 +98,26 @@ struct external_lineno { char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/ char l_paddr[4]; /* (physical) address of line number */ } l_addr; +#ifdef COFF_WITH_PE + char l_lnno[2]; /* line number */ +#else char l_lnno[4]; /* line number */ +#endif }; #define GET_LINENO_LNNO(abfd, ext) bfd_h_get_32(abfd, (bfd_byte *) (ext->l_lnno)); #define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_32(abfd,val, (bfd_byte *) (ext->l_lnno)); #define LINENO struct external_lineno +#ifdef COFF_WITH_PE +#define LINESZ 6 +#undef GET_LINENO_LNNO +#define GET_LINENO_LNNO(abfd, ext) bfd_h_get_16(abfd, (bfd_byte *) (ext->l_lnno)); +#undef PUT_LINENO_LNNO +#define PUT_LINENO_LNNO(abfd,val, ext) bfd_h_put_16(abfd,val, (bfd_byte *) (ext->l_lnno)); +#else #define LINESZ 8 +#endif /********************** SYMBOLS **********************/ @@ -163,6 +184,9 @@ union external_auxent { char x_scnlen[4]; /* section length */ char x_nreloc[2]; /* # relocation entries */ char x_nlinno[2]; /* # line numbers */ + char x_checksum[4]; /* section COMDAT checksum */ + char x_associated[2]; /* COMDAT associated section index */ + char x_comdat[1]; /* COMDAT selection number */ } x_scn; struct { @@ -187,6 +211,7 @@ union external_auxent { types on the h8 don't have room in the instruction for the entire offset - eg the strange jump and high page addressing modes */ +#ifndef COFF_WITH_PE struct external_reloc { char r_vaddr[4]; char r_symndx[4]; @@ -194,14 +219,26 @@ struct external_reloc { char r_type[2]; char r_stuff[2]; }; +#else +struct external_reloc { + char r_vaddr[4]; + char r_symndx[4]; + char r_type[2]; +}; +#endif #define RELOC struct external_reloc +#ifdef COFF_WITH_PE +#define RELSZ 10 +#else #define RELSZ 16 +#endif /* SH relocation types. Not all of these are actually used. */ #define R_SH_UNUSED 0 /* only used internally */ +#define R_SH_IMM32CE 2 /* 32 bit immediate for WinCE */ #define R_SH_PCREL8 3 /* 8 bit pcrel */ #define R_SH_PCREL16 4 /* 16 bit pcrel */ #define R_SH_HIGH8 5 /* high 8 bits of 24 bit address */ @@ -213,6 +250,7 @@ struct external_reloc { #define R_SH_PCDISP 12 /* 12 bit branch */ #define R_SH_IMM32 14 /* 32 bit immediate */ #define R_SH_IMM8 16 /* 8 bit immediate */ +#define R_SH_IMAGEBASE 16 /* Windows CE */ #define R_SH_IMM8BY2 17 /* 8 bit immediate *2 */ #define R_SH_IMM8BY4 18 /* 8 bit immediate *4 */ #define R_SH_IMM4 19 /* 4 bit immediate */ |