summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/include/coff/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/binutils/include/coff/internal.h')
-rw-r--r--contrib/binutils/include/coff/internal.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/contrib/binutils/include/coff/internal.h b/contrib/binutils/include/coff/internal.h
index d37f7ca..d873f28 100644
--- a/contrib/binutils/include/coff/internal.h
+++ b/contrib/binutils/include/coff/internal.h
@@ -215,6 +215,7 @@ struct internal_aouthdr
#define C_ALIAS 105 /* duplicate tag */
#define C_HIDDEN 106 /* ext symbol in dmert public lib */
+
/* New storage classes for WINDOWS_NT */
#define C_SECTION 104 /* section name */
#define C_NT_WEAK 105 /* weak external */
@@ -258,6 +259,13 @@ struct internal_aouthdr
#define C_BSTAT (0x8f)
#define C_ESTAT (0x90)
+/* Storage classes for Thumb symbols */
+#define C_THUMBEXT (128 + C_EXT)
+#define C_THUMBSTAT (128 + C_STAT)
+#define C_THUMBLABEL (128 + C_LABEL)
+#define C_THUMBEXTFUNC (C_THUMBEXT + 20)
+#define C_THUMBSTATFUNC (C_THUMBSTAT + 20)
+
/********************** SECTION HEADER **********************/
#define SCNNMLEN (8)
@@ -402,12 +410,16 @@ struct internal_syment
#define BTYPE(x) ((x) & N_BTMASK)
-#define ISPTR(x) (((x) & N_TMASK) == (DT_PTR << N_BTSHFT))
-#define ISFCN(x) (((x) & N_TMASK) == (DT_FCN << N_BTSHFT))
-#define ISARY(x) (((x) & N_TMASK) == (DT_ARY << N_BTSHFT))
-#define ISTAG(x) ((x)==C_STRTAG||(x)==C_UNTAG||(x)==C_ENTAG)
-#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))
-
+#define ISPTR(x) \
+ (((unsigned long) (x) & N_TMASK) == ((unsigned long) DT_PTR << N_BTSHFT))
+#define ISFCN(x) \
+ (((unsigned long) (x) & N_TMASK) == ((unsigned long) DT_FCN << N_BTSHFT))
+#define ISARY(x) \
+ (((unsigned long) (x) & N_TMASK) == ((unsigned long) DT_ARY << N_BTSHFT))
+#define ISTAG(x) \
+ ((x) == C_STRTAG || (x) == C_UNTAG || (x) == C_ENTAG)
+#define DECREF(x) \
+ ((((x) >> N_TSHIFT) & ~ N_BTMASK) | ((x) & N_BTMASK))
union internal_auxent
{
OpenPOWER on IntegriCloud