aboutsummaryrefslogtreecommitdiff
path: root/include/coff/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/coff/internal.h')
-rw-r--r--include/coff/internal.h51
1 files changed, 31 insertions, 20 deletions
diff --git a/include/coff/internal.h b/include/coff/internal.h
index b14223d..af60d22 100644
--- a/include/coff/internal.h
+++ b/include/coff/internal.h
@@ -79,7 +79,8 @@ struct internal_aouthdr
/********************** STORAGE CLASSES **********************/
-#define C_EFCN -1 /* physical end of function */
+/* This used to be defined as -1, but now n_sclass is unsigned. */
+#define C_EFCN 0xff /* physical end of function */
#define C_NULL 0
#define C_AUTO 1 /* automatic variable */
#define C_EXT 2 /* external symbol */
@@ -128,21 +129,21 @@ struct internal_aouthdr
#define C_EINCL 109 /* Marks ending of include file */
/* storage classes for stab symbols for RS/6000 */
-#define C_GSYM ((signed char)0x80)
-#define C_LSYM ((signed char)0x81)
-#define C_PSYM ((signed char)0x82)
-#define C_RSYM ((signed char)0x83)
-#define C_RPSYM ((signed char)0x84)
-#define C_STSYM ((signed char)0x85)
-#define C_TCSYM ((signed char)0x86)
-#define C_BCOMM ((signed char)0x87)
-#define C_ECOML ((signed char)0x88)
-#define C_ECOMM ((signed char)0x89)
-#define C_DECL ((signed char)0x8c)
-#define C_ENTRY ((signed char)0x8d)
-#define C_FUN ((signed char)0x8e)
-#define C_BSTAT ((signed char)0x8f)
-#define C_ESTAT ((signed char)0x90)
+#define C_GSYM (0x80)
+#define C_LSYM (0x81)
+#define C_PSYM (0x82)
+#define C_RSYM (0x83)
+#define C_RPSYM (0x84)
+#define C_STSYM (0x85)
+#define C_TCSYM (0x86)
+#define C_BCOMM (0x87)
+#define C_ECOML (0x88)
+#define C_ECOMM (0x89)
+#define C_DECL (0x8c)
+#define C_ENTRY (0x8d)
+#define C_FUN (0x8e)
+#define C_BSTAT (0x8f)
+#define C_ESTAT (0x90)
/********************** SECTION HEADER **********************/
struct internal_scnhdr
@@ -227,7 +228,7 @@ struct internal_syment
short n_scnum; /* section number */
unsigned short n_flags; /* copy of flags from filhdr */
unsigned short n_type; /* type and derived type */
- signed char n_sclass; /* storage class */
+ unsigned char n_sclass; /* storage class */
char n_numaux; /* number of aux. entries */
};
@@ -464,12 +465,10 @@ struct internal_reloc
#define R_MOVB1 0x41 /* Special h8 16bit or 8 bit reloc for mov.b */
#define R_MOVB2 0x42 /* Special h8 opcode for 8bit which could
be 16 */
-#define R_JMP1 0x43 /* Special h8 16bit jmp which could be
- pcrel */
+#define R_JMP1 0x43 /* Special h8 16bit jmp which could be pcrel */
#define R_JMP2 0x44 /* a branch which used to be a jmp */
#define R_RELLONG_NEG 0x45
-
/* Z8k modes */
#define R_IMM16 0x01 /* 16 bit abs */
#define R_JR 0x02 /* jr 8 bit disp */
@@ -482,3 +481,15 @@ struct internal_reloc
#define R_CALLR 0x05 /* callr 12 bit disp */
#define R_SEG 0x10 /* set if in segmented mode */
#define R_IMM4H 0x24 /* high nibble */
+
+
+/* H8500 modes */
+
+#define R_H8500_IMM8 1 /* 8 bit immediate */
+#define R_H8500_IMM16 2 /* 16 bit immediate */
+#define R_H8500_PCREL8 3 /* 8 bit pcrel */
+#define R_H8500_PCREL16 4 /* 16 bit pcrel */
+#define R_H8500_HIGH8 5 /* high 8 bits of 24 bit address */
+#define R_H8500_LOW16 7 /* low 16 bits of 24 bit immediate */
+#define R_H8500_IMM24 6 /* 24 bit immediate */
+#define R_H8500_IMM32 8 /* 32 bit immediate */