From 8ba8bbaec7704c679f73c774cc7de22cadef2d1a Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 3 Sep 1997 00:40:05 +0000 Subject: [PATCH] Replaced magic numbers with bits in e_flags field. --- include/elf/ChangeLog | 11 +++++++++++ include/elf/common.h | 6 ------ include/elf/v850.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 6 deletions(-) diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index dd6035f..8f70b6f 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,14 @@ +Tue Sep 2 17:41:05 1997 Nick Clifton + +start-sanitize-v850e + * common.h: Remove magic number for V850E. +end-sanitize-v850e +start-sanitize-v850eq + * common.h: Remove magic number for V850EQ. +end-sanitize-v850eq + + * v850.h: Add new flags for e_flags field in elf header. + start-sanitize-v850e Mon Aug 25 16:06:47 1997 Nick Clifton diff --git a/include/elf/common.h b/include/elf/common.h index 47d5ad5..066db9f 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -126,12 +126,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* start-sanitize-v850 */ /* V850 backend magic number. Written in the absense of an ABI. */ #define EM_CYGNUS_V850 0x9080 -/* start-sanitize-v850e */ -#define EM_CYGNUS_V850E 0x908e -/* end-sanitize-v850e */ -/* start-sanitize-v850eq */ -#define EM_CYGNUS_V850EQ 0x908f -/* end-sanitize-v850eq */ /* end-sanitize-v850 */ /* mn10200 and mn10300 backend magic numbers. diff --git a/include/elf/v850.h b/include/elf/v850.h index e71c3ef..85e098f 100644 --- a/include/elf/v850.h +++ b/include/elf/v850.h @@ -24,6 +24,25 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _ELF_V850_H #define _ELF_V850_H +/* Processor specific flags for the ELF header e_flags field. */ + +/* Four bit V850 architecture field. */ +#define EF_V850_ARCH 0xf0000000 + +/* v850 code. */ +#define E_V850_ARCH 0x00000000 + +/* start-sanitize-v850e */ +/* v850e code. */ +#define E_V850E_ARCH 0x10000000 +/* end-sanitize-v850e */ + +/* start-sanitize-v850eq */ +/* v850eq code. */ +#define E_V850EQ_ARCH 0x20000000 +/* end-sanitize-v850eq */ + + /* Flags for the st_other field */ #define V850_OTHER_SDA 0x01 /* symbol had SDA relocations */ #define V850_OTHER_ZDA 0x02 /* symbol had ZDA relocations */ @@ -31,4 +50,33 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define V850_OTHER_TDA_BYTE 0x08 /* symbol had TDA byte relocations */ #define V850_OTHER_ERROR 0x80 /* symbol had an error reported */ +/* V850 relocations */ +enum reloc_type +{ + R_V850_NONE = 0, + R_V850_9_PCREL, + R_V850_16_PCREL, + R_V850_22_PCREL, + R_V850_HI16_S, + R_V850_HI16, + R_V850_LO16, + R_V850_32, + R_V850_16, + R_V850_8, + R_V850_SDA_16_16_OFFSET, /* For ld.b, st.b, set1, clr1, not1, tst1, movea, movhi */ + R_V850_SDA_15_16_OFFSET, /* For ld.w, ld.h, ld.hu, st.w, st.h */ + R_V850_ZDA_16_16_OFFSET, /* For ld.b, st.b, set1, clr1, not1, tst1, movea, movhi */ + R_V850_ZDA_15_16_OFFSET, /* For ld.w, ld.h, ld.hu, st.w, st.h */ + R_V850_TDA_6_8_OFFSET, /* For sst.w, sld.w */ + R_V850_TDA_7_8_OFFSET, /* For sst.h, sld.h */ + R_V850_TDA_7_7_OFFSET, /* For sst.b, sld.b */ +/* start-sanitize-v850e */ + R_V850_TDA_4_5_OFFSET, /* For sld.hu */ + R_V850_TDA_4_4_OFFSET, /* For sld.bu */ + R_V850_SDA_16_16_SPLIT_OFFSET, /* For ld.bu */ + R_V850_ZDA_16_16_SPLIT_OFFSET, /* For ld.bu */ +/* end-sanitize-v850e */ + R_V850_max +}; + #endif /* _ELF_V850_H */ -- 2.7.4