aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1995-06-29 00:41:02 +0000
committerSteve Chamberlain <sac@cygnus>1995-06-29 00:41:02 +0000
commit30355216bd56a1e5a91fd979227f29414b7ae234 (patch)
tree66057ca381eb4243fb610d21d2cf198d7ac07a91 /gas/config
parentde71eb7786da1170ae4b4acabeb4c62513c19602 (diff)
downloadgdb-30355216bd56a1e5a91fd979227f29414b7ae234.zip
gdb-30355216bd56a1e5a91fd979227f29414b7ae234.tar.gz
gdb-30355216bd56a1e5a91fd979227f29414b7ae234.tar.bz2
* config/obj-coff.c (fixup_segment): PE doens't use
the strange common symbol format that other 386s formats do. * config/tc-i386.c (md_begin): If LEX_AT defined then '@' is in the set of identifiers. (i386_operand): If LEX_AT, then don't look for @goto stuff. * config/te-pe.h: Define LEX_AT.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/obj-coff.c4
-rw-r--r--gas/config/tc-i386.c19
2 files changed, 8 insertions, 15 deletions
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 82b5e96..e80eeb9 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -2983,7 +2983,7 @@ write_object_file ()
H_SET_FILE_MAGIC_NUMBER (&headers, COFF_MAGIC);
#ifndef OBJ_COFF_OMIT_TIMESTAMP
- H_SET_TIME_STAMP (&headers, (long)time((long*)0));
+ H_SET_TIME_STAMP (&headers, (long)time((time_t *)0));
#else
H_SET_TIME_STAMP (&headers, 0);
#endif
@@ -3674,7 +3674,7 @@ fixup_segment (segP, this_segment_type)
continue;
} /* COBR */
#endif /* TC_I960 */
-#if defined (TC_I386) || defined (TE_LYNX)
+#if (defined (TC_I386) || defined (TE_LYNX)) && !defined(TE_PE)
/* 386 COFF uses a peculiar format in which the
value of a common symbol is stored in the .text
segment (I've checked this on SVR3.2 and SCO
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 2b58aff..29c6b50 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -477,6 +477,10 @@ md_begin ()
if (isalpha (c) || c == '_' || c == '.' || isdigit (c))
identifier_chars[c] = c;
+#ifdef LEX_AT
+ identifier_chars['@'] = '@';
+#endif
+
if (c == ' ' || c == '\t')
space_chars[c] = c;
}
@@ -2158,7 +2162,7 @@ i386_operand (operand_string)
save_input_line_pointer = input_line_pointer;
input_line_pointer = displacement_string_start;
END_STRING_AND_SAVE (displacement_string_end);
-
+#ifndef LEX_AT
{
/*
* We can have operands of the form
@@ -2196,7 +2200,7 @@ i386_operand (operand_string)
input_line_pointer = tmpbuf;
}
}
-
+#endif
exp_seg = expression (exp);
#ifdef BFD_ASSEMBLER
@@ -2795,17 +2799,6 @@ md_undefined_symbol (name)
return 0;
}
-/* Parse an operand that is machine-specific.
- We just return without modifying the expression if we have nothing
- to do. */
-
-/* ARGSUSED */
-void
-md_operand (expressionP)
- expressionS *expressionP;
-{
-}
-
/* Round up a section size to the appropriate boundary. */
valueT
md_section_align (segment, size)