Mon Jun 16 12:49:36 1997 H.J. Lu <hjl@gnu.ai.mit.edu>

* ldlang.c (lang_place_undefineds): Add \n in einfo call.
	(lang_size_sections): Likewise.
	* ldlex.l: Likewise.
	* emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise.
	* emultempl/mipsecoff.em (gld${EMULATION_NAME}_after_open):
	Likewise.
	(check_sections): Likewise.
	(gld${EMULATION_NAME}_after_allocation): Likewise.
	* emultempl/pe.em (gld_$${EMULATION_NAME}_before_allocation):
	Likewise.
	* mpw-eppcmac.c (gldppcmacos_read_file): Likewise.
	* mpw-idtmips.c (gldmipsidt_after_open): Likewise.
	(check_sections): Likewise.
	(gldmipsidt_after_allocation): Likewise.
This commit is contained in:
Ian Lance Taylor 1997-06-16 16:56:22 +00:00
parent 02fbf07071
commit f4ae97e1bd
4 changed files with 76 additions and 10 deletions

View File

@ -1,5 +1,20 @@
Mon Jun 16 12:49:36 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* ldlang.c (lang_place_undefineds): Add \n in einfo call.
(lang_size_sections): Likewise.
* ldlex.l: Likewise.
* emultempl/aix.em (gld${EMULATION_NAME}_read_file): Likewise.
* emultempl/mipsecoff.em (gld${EMULATION_NAME}_after_open):
Likewise.
(check_sections): Likewise.
(gld${EMULATION_NAME}_after_allocation): Likewise.
* emultempl/pe.em (gld_$${EMULATION_NAME}_before_allocation):
Likewise.
* mpw-eppcmac.c (gldppcmacos_read_file): Likewise.
* mpw-idtmips.c (gldmipsidt_after_open): Likewise.
(check_sections): Likewise.
(gldmipsidt_after_allocation): Likewise.
* ldemul.c (ldemul_choose_mode): Remove unused einfo argument.
Fri Jun 6 23:47:42 1997 Ian Lance Taylor <ian@cygnus.com>

View File

@ -1,6 +1,6 @@
%{
/* Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
/* Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@ -89,6 +89,9 @@ static void lex_warn_invalid PARAMS ((char *where, char *what));
BOTH either EXPRESSION or SCRIPT
DEFSYMEXP in an argument to -defsym
MRI in an MRI script
VERS_START starting a Sun style mapfile
VERS_SCRIPT a Sun style mapfile
VERS_NODE a node within a Sun style mapfile
*/
#define RTOKEN(x) { yylval.token = x; return x; }
@ -104,19 +107,24 @@ int yywrap () { return 1; }
CMDFILENAMECHAR [_a-zA-Z0-9\/\.\\_\+\$\:\[\]\\\,\=\&\!\<\>\-\~]
CMDFILENAMECHAR1 [_a-zA-Z0-9\/\.\\_\+\$\:\[\]\\\,\=\&\!\<\>\~]
FILENAMECHAR1 [_a-zA-Z\/\.\\\$\_\~]
SYMBOLCHARN [_a-zA-Z\/\.\\0-9]
SYMBOLCHARN [_a-zA-Z\/\.\\\$\_\~0-9]
FILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\=\$\:\[\]\\\,\~]
WILDCHAR [_a-zA-Z0-9\/\.\-\_\+\=\$\:\[\]\\\,\~\?\*]
WHITE [ \t\n\r]+
NOCFILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\$\:\[\]\\\~]
V_TAG [.$_a-zA-Z][._a-zA-Z0-9]*
V_IDENTIFIER [*?$_a-zA-Z][*?_a-zA-Z0-9]*
%s SCRIPT
%s EXPRESSION
%s BOTH
%s DEFSYMEXP
%s MRI
%s VERS_START
%s VERS_SCRIPT
%s VERS_NODE
%%
if (parser_input != input_selected)
@ -128,6 +136,7 @@ NOCFILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\$\:\[\]\\\~]
{
case input_script: return INPUT_SCRIPT; break;
case input_mri_script: return INPUT_MRI_SCRIPT; break;
case input_version_script: return INPUT_VERSION_SCRIPT; break;
case input_defsym: return INPUT_DEFSYM; break;
default: abort ();
}
@ -223,12 +232,15 @@ NOCFILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\$\:\[\]\\\~]
<BOTH,SCRIPT,EXPRESSION,MRI>";" { RTOKEN(';');}
<BOTH,SCRIPT>"MEMORY" { RTOKEN(MEMORY);}
<BOTH,SCRIPT>"ORIGIN" { RTOKEN(ORIGIN);}
<BOTH,SCRIPT>"VERSION" { RTOKEN(VERSION);}
<EXPRESSION,BOTH,SCRIPT>"BLOCK" { RTOKEN(BLOCK);}
<EXPRESSION,BOTH,SCRIPT>"BIND" { RTOKEN(BIND);}
<BOTH,SCRIPT>"LENGTH" { RTOKEN(LENGTH);}
<EXPRESSION,BOTH,SCRIPT>"ALIGN" { RTOKEN(ALIGN_K);}
<EXPRESSION,BOTH,SCRIPT>"ADDR" { RTOKEN(ADDR);}
<EXPRESSION,BOTH,SCRIPT>"LOADADDR" { RTOKEN(LOADADDR);}
<EXPRESSION,BOTH>"MAX" { RTOKEN(MAX); }
<EXPRESSION,BOTH>"MIN" { RTOKEN(MIN); }
<BOTH,SCRIPT>"ENTRY" { RTOKEN(ENTRY);}
<EXPRESSION,BOTH,SCRIPT>"NEXT" { RTOKEN(NEXT);}
<EXPRESSION,BOTH,SCRIPT>"sizeof_headers" { RTOKEN(SIZEOF_HEADERS);}
@ -253,11 +265,13 @@ NOCFILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\$\:\[\]\\\~]
<BOTH,SCRIPT>"SYSLIB" { RTOKEN(SYSLIB);}
<BOTH,SCRIPT>"FLOAT" { RTOKEN(FLOAT);}
<BOTH,SCRIPT>"QUAD" { RTOKEN( QUAD);}
<BOTH,SCRIPT>"SQUAD" { RTOKEN( SQUAD);}
<BOTH,SCRIPT>"LONG" { RTOKEN( LONG);}
<BOTH,SCRIPT>"SHORT" { RTOKEN( SHORT);}
<BOTH,SCRIPT>"BYTE" { RTOKEN( BYTE);}
<BOTH,SCRIPT>"NOFLOAT" { RTOKEN(NOFLOAT);}
<BOTH,SCRIPT>"NOCROSSREFS" { RTOKEN(NOCROSSREFS);}
<EXPRESSION,BOTH,SCRIPT>"NOCROSSREFS" { RTOKEN(NOCROSSREFS);}
<BOTH,SCRIPT>"OVERLAY" { RTOKEN(OVERLAY); }
<EXPRESSION,BOTH,SCRIPT>"NOLOAD" { RTOKEN(NOLOAD);}
<EXPRESSION,BOTH,SCRIPT>"DSECT" { RTOKEN(DSECT);}
<EXPRESSION,BOTH,SCRIPT>"COPY" { RTOKEN(COPY);}
@ -341,6 +355,29 @@ NOCFILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\$\:\[\]\\\~]
<BOTH,SCRIPT,EXPRESSION>"\r" { lineno++;}
<MRI,BOTH,SCRIPT,EXPRESSION>[ \t]
<VERS_NODE,VERS_SCRIPT>[:,;] { return *yytext; }
<VERS_NODE>global { RTOKEN(GLOBAL); }
<VERS_NODE>local { RTOKEN(LOCAL); }
<VERS_NODE>{V_IDENTIFIER} { yylval.name = buystring (yytext);
return VERS_IDENTIFIER; }
<VERS_SCRIPT>{V_TAG} { yylval.name = buystring (yytext);
return VERS_TAG; }
<VERS_START>"{" { BEGIN(VERS_SCRIPT); return *yytext; }
<VERS_SCRIPT>"{" { BEGIN(VERS_NODE); return *yytext; }
<VERS_SCRIPT,VERS_NODE>"}" { BEGIN(VERS_SCRIPT); return *yytext; }
<VERS_START,VERS_NODE,VERS_SCRIPT>[\n\r] { lineno++; }
<VERS_START,VERS_NODE,VERS_SCRIPT>#.* { /* Eat up comments */ }
<VERS_START,VERS_NODE,VERS_SCRIPT>[ \t]+ { /* Eat up whitespace */ }
<<EOF>> {
include_stack_ptr--;
@ -360,7 +397,7 @@ NOCFILENAMECHAR [_a-zA-Z0-9\/\.\-\_\+\$\:\[\]\\\~]
return END;
}
<SCRIPT,MRI>. lex_warn_invalid(" in script", yytext);
<SCRIPT,MRI,VERS_START,VERS_SCRIPT,VERS_NODE>. lex_warn_invalid(" in script", yytext);
<EXPRESSION,DEFSYMEXP,BOTH>. lex_warn_invalid(" in expression", yytext);
%%
@ -468,6 +505,20 @@ ldlex_mri_script ()
BEGIN (MRI);
}
void
ldlex_version_script ()
{
*(state_stack_p)++ = yy_start;
BEGIN (VERS_START);
}
void
ldlex_version_file ()
{
*(state_stack_p)++ = yy_start;
BEGIN (VERS_SCRIPT);
}
void
ldlex_defsym ()
{
@ -512,7 +563,7 @@ yy_input (buf, result, max_size)
{
*result = read (fileno (yyin), (char *) buf, max_size);
if (*result < 0)
einfo ("%F%P: read in flex scanner failed");
einfo ("%F%P: read in flex scanner failed\n");
}
}
}

View File

@ -731,7 +731,7 @@ gldppcmacos_read_file (filename, import)
obstack_free (o, obstack_base (o));
}
else if (*s == '(')
einfo ("%F%s%d: #! ([member]) is not supported in import files",
einfo ("%F%s%d: #! ([member]) is not supported in import files\n",
filename, lineno);
else
{

View File

@ -90,7 +90,7 @@ gldmipsidt_after_open ()
|| ! bfd_set_section_alignment (abfd, relsec, 2)
|| ! bfd_set_section_size (abfd, relsec,
datasec->reloc_count * 4))
einfo ("%F%B: can not create .rel.sdata section: %E");
einfo ("%F%B: can not create .rel.sdata section: %E\n");
}
/* Double check that all other data sections are empty, as is
@ -111,7 +111,7 @@ check_sections (abfd, sec, sdatasec)
if ((bfd_get_section_flags (abfd, sec) & SEC_CODE) == 0
&& sec != (asection *) sdatasec
&& sec->reloc_count != 0)
einfo ("%F%X: section %s has relocs; can not use --embedded-relocs",
einfo ("%F%X: section %s has relocs; can not use --embedded-relocs\n",
abfd, bfd_get_section_name (abfd, sec));
}
@ -146,10 +146,10 @@ gldmipsidt_after_allocation ()
&errmsg))
{
if (errmsg == NULL)
einfo ("%B%X: can not create runtime reloc information: %E",
einfo ("%B%X: can not create runtime reloc information: %E\n",
abfd);
else
einfo ("%X%B: can not create runtime reloc information: %s",
einfo ("%X%B: can not create runtime reloc information: %s\n",
abfd, errmsg);
}
}