[parisc-linux] libmilli.a

Alan Modra alan@linuxcare.com.au
Tue, 3 Oct 2000 02:05:14 +1100 (EST)


Here's how to make ld always link in a special library, even when
someone is messing around with linker scripts and so forth.  I've been
playing with this today, and after fixing some gcc and linker c++ probs
now can pass all the binutils testsuite (some of which used to fail due to
not finding $$dynamic)

For my testing, I just moved $$dynamic from libgcc.a into libmilli.a, but
we should move more functions I guess.

Comments?

Index: ld/emultempl/hppaelf.em
===================================================================
RCS file: /home/cvs/parisc/binutils/ld/emultempl/hppaelf.em,v
retrieving revision 1.10
diff -u -p -r1.10 hppaelf.em
--- hppaelf.em	2000/09/27 09:13:09	1.10
+++ hppaelf.em	2000/10/02 05:33:54
@@ -71,6 +71,16 @@ hppaelf_create_output_section_statements
   ldlang_add_file (stub_file);
 }
 
+/* Adds millicode library to the list of input files.  */
+
+static void
+hppaelf_after_parse ()
+{
+  lang_add_input_file ("milli",
+		       lang_input_file_is_l_enum,
+		       NULL);
+}
+
 /* Walk all the lang statements splicing out any padding statements from
    the list.  */
 
@@ -401,3 +411,4 @@ PARSE_AND_LIST_ARGS_CASES='
 #
 LDEMUL_FINISH=hppaelf_finish
 LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS=hppaelf_create_output_section_statements
+LDEMUL_AFTER_PARSE=hppaelf_after_parse