* ldlang.c (lang_add_input_file): If it's a library brought in by

INPUT(), then change the file type to lang_input_file_is_l_enum.
	* ldgram.y: In input_list, change lang_input_file_is_file_enum to
	lang_input_file_is_search_file_enum so objects brought in using
	INPUT() do a path lookup.
This commit is contained in:
Rob Savoye 1993-10-01 01:28:55 +00:00
parent 3d8536f365
commit a4aeaacf69
2 changed files with 46 additions and 10 deletions

View File

@ -1,3 +1,33 @@
Thu Sep 30 17:00:36 1993 Rob Savoye (rob@darkstar.cygnus.com)
* ldlang.c (lang_add_input_file): If it's a library brought in by
INPUT(), then change the file type to lang_input_file_is_l_enum.
* ldgram.y: In input_list, change lang_input_file_is_file_enum to
lang_input_file_is_search_file_enum so objects brought in using
INPUT() do a path lookup.
Tue Sep 28 13:31:23 1993 Stan Shebs (shebs@rtl.cygnus.com)
* configure.in: Change Lynx ld_target to be {i386,m68k}-lynx
instead of {i386,m68k}-coff.
* Makefile.in (em_i386lynx.c, em_m68klynx.c): New targets.
* config/i386-lynx.mt: New file.
* config/m68k-lynx.mt: New file.
* emulparams/i386lynx.sh: New file.
* emulparams/m68klynx.sh: New file.
* scripttempl/i386coff.sc: Make ENTRY get its value from ${ENTRY},
but defaulting to _start.
* ldemul.c, ldfile.c, ldlang.c, ldmain.c, ldmisc.c, ldmisc.h,
ldsym.c, ldwarn.c: Rename info to info_msg, to avoid conflict with
LynxOS libc.
Thu Sep 23 14:51:03 1993 Ian Lance Taylor (ian@cygnus.com)
* config/solaris2.mh: New file. Define HOSTING_CRT0 and
HOSTING_LIBS for testing.
Fri Sep 17 17:52:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
Finish up support for i386-sysv4 (without shared libraries):

View File

@ -1,5 +1,5 @@
/* Linker command language support.
Copyright 1991, 1992 Free Software Foundation, Inc.
Copyright 1991, 1992, 1993 Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@ -33,10 +33,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "ldindr.h"
#include "ldctor.h"
#define BYTE_SIZE (1)
#define SHORT_SIZE (2)
#define LONG_SIZE (4)
/* FORWARDS */
static void print_statements PARAMS ((void));
static void print_statement PARAMS ((lang_statement_union_type *,
@ -328,6 +324,13 @@ lang_add_input_file (name, file_type, target)
{
/* Look it up or build a new one */
lang_has_input_file = true;
if (name) {
if ((*(name+strlen(name)-1) == '.') && (*(name+strlen(name)) == 'a')) {
file_type=lang_input_file_is_l_enum;
}
}
#if 0
lang_input_statement_type *p;
@ -353,10 +356,10 @@ lang_add_keepsyms_file (filename)
{
extern strip_symbols_type strip_symbols;
if (keepsyms_file != 0)
info ("%X%P: error: duplicated keep-symbols-file value\n");
info_msg ("%X%P: error: duplicated keep-symbols-file value\n");
keepsyms_file = filename;
if (strip_symbols != STRIP_NONE)
info ("%P: `-keep-only-symbols-file' overrides `-s' and `-S'\n");
info_msg ("%P: `-keep-only-symbols-file' overrides `-s' and `-S'\n");
strip_symbols = STRIP_SOME;
}
@ -1194,6 +1197,8 @@ print_symbol (q)
fprintf (config.map_file, " ");
print_address (outside_symbol_address (q));
fprintf (config.map_file, " %s", q->name ? q->name : " ");
if (q->flags & BSF_WEAK)
fprintf (config.map_file, " *weak*");
print_nl ();
}
@ -1255,7 +1260,8 @@ print_input_section (in)
{
asymbol *q = *p;
if (bfd_get_section (q) == i && q->flags & BSF_GLOBAL)
if (bfd_get_section (q) == i
&& (q->flags & (BSF_GLOBAL | BSF_WEAK)) != 0)
{
print_symbol (q);
}
@ -2029,7 +2035,7 @@ lang_check ()
else
{
info ("%P: warning: %s architecture of input file `%B' is incompatible with %s output\n",
info_msg ("%P: warning: %s architecture of input file `%B' is incompatible with %s output\n",
bfd_printable_name (input_bfd), input_bfd,
bfd_printable_name (output_bfd));
@ -2210,7 +2216,7 @@ lang_place_orphans ()
if (default_common_section ==
(lang_output_section_statement_type *) NULL)
{
info ("%P: no [COMMON] command, defaulting to .bss\n");
info_msg ("%P: no [COMMON] command, defaulting to .bss\n");
default_common_section =
lang_output_section_statement_lookup (".bss");