* 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.
This commit is contained in:
Steve Chamberlain
1995-06-29 00:41:02 +00:00
parent de71eb7786
commit 30355216bd
3 changed files with 18 additions and 15 deletions

View File

@ -1,3 +1,13 @@
Wed Jun 28 17:33:13 1995 Steve Chamberlain <sac@slash.cygnus.com>
* 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.
Wed Jun 28 17:49:59 1995 Ken Raeburn <raeburn@cygnus.com> Wed Jun 28 17:49:59 1995 Ken Raeburn <raeburn@cygnus.com>
* doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP * doc/as.texinfo (H8/500 Floating Point): Indicate that IEEE FP

View File

@ -2983,7 +2983,7 @@ write_object_file ()
H_SET_FILE_MAGIC_NUMBER (&headers, COFF_MAGIC); H_SET_FILE_MAGIC_NUMBER (&headers, COFF_MAGIC);
#ifndef OBJ_COFF_OMIT_TIMESTAMP #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 #else
H_SET_TIME_STAMP (&headers, 0); H_SET_TIME_STAMP (&headers, 0);
#endif #endif
@ -3674,7 +3674,7 @@ fixup_segment (segP, this_segment_type)
continue; continue;
} /* COBR */ } /* COBR */
#endif /* TC_I960 */ #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 /* 386 COFF uses a peculiar format in which the
value of a common symbol is stored in the .text value of a common symbol is stored in the .text
segment (I've checked this on SVR3.2 and SCO segment (I've checked this on SVR3.2 and SCO

View File

@ -477,6 +477,10 @@ md_begin ()
if (isalpha (c) || c == '_' || c == '.' || isdigit (c)) if (isalpha (c) || c == '_' || c == '.' || isdigit (c))
identifier_chars[c] = c; identifier_chars[c] = c;
#ifdef LEX_AT
identifier_chars['@'] = '@';
#endif
if (c == ' ' || c == '\t') if (c == ' ' || c == '\t')
space_chars[c] = c; space_chars[c] = c;
} }
@ -2158,7 +2162,7 @@ i386_operand (operand_string)
save_input_line_pointer = input_line_pointer; save_input_line_pointer = input_line_pointer;
input_line_pointer = displacement_string_start; input_line_pointer = displacement_string_start;
END_STRING_AND_SAVE (displacement_string_end); END_STRING_AND_SAVE (displacement_string_end);
#ifndef LEX_AT
{ {
/* /*
* We can have operands of the form * We can have operands of the form
@ -2196,7 +2200,7 @@ i386_operand (operand_string)
input_line_pointer = tmpbuf; input_line_pointer = tmpbuf;
} }
} }
#endif
exp_seg = expression (exp); exp_seg = expression (exp);
#ifdef BFD_ASSEMBLER #ifdef BFD_ASSEMBLER
@ -2795,17 +2799,6 @@ md_undefined_symbol (name)
return 0; 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. */ /* Round up a section size to the appropriate boundary. */
valueT valueT
md_section_align (segment, size) md_section_align (segment, size)