* ldlang.c (lang_add_input_file): If it's a library brought in by
authorRob Savoye <rob@cygnus>
Fri, 1 Oct 1993 01:28:55 +0000 (01:28 +0000)
committerRob Savoye <rob@cygnus>
Fri, 1 Oct 1993 01:28:55 +0000 (01:28 +0000)
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.

ld/ChangeLog
ld/ldlang.c

index 67dde5f75762ead10abb55d89fc00c748d2a9405..2bf48754648ba633df413fed417ff8d8f0ff7002 100644 (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):
index b8f6aaaf5d28f41959da97ea019d217651b97152..a37f3916cf4ff1847bf9ff39ec5ca687c09ff504 100644 (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");