diff options
author | Per Bothner <per@bothner.com> | 1991-10-08 23:18:03 +0000 |
---|---|---|
committer | Per Bothner <per@bothner.com> | 1991-10-08 23:18:03 +0000 |
commit | ee17cac9c6c4eade757fb435ca169411ac7e91c8 (patch) | |
tree | c530a4adf6be713ceb130341d2fdc8c6005035cb /ld | |
parent | b7de6963d4c0f87381cb7ede8ab8415efd70fcd2 (diff) | |
download | gdb-ee17cac9c6c4eade757fb435ca169411ac7e91c8.zip gdb-ee17cac9c6c4eade757fb435ca169411ac7e91c8.tar.gz gdb-ee17cac9c6c4eade757fb435ca169411ac7e91c8.tar.bz2 |
* ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
* ldtemplate: Remove ldfile_add_library_path calls;
just use the SEARCH_DIR commands in the script files.
* Makefile.in: Add LIB_PATH macro, which if set is used to replace
the SEARCH_DIR commands in the scripts (using ugly sed magic).
This is primarily intended for cross-linking, where you would
place libaries in a different place than native libraries.
Also, emulations made from ldtemplate now use $(srcdir).
* ldglda29k.sc: Change SEARCH_DIR commands to a conventional
form; people can use the Makefile's LIB_PATH to override.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/Makefile.in | 33 | ||||
-rwxr-xr-x | ld/ldglda29k.sc | 6 | ||||
-rwxr-xr-x | ld/ldtemplate | 3 |
3 files changed, 25 insertions, 17 deletions
diff --git a/ld/Makefile.in b/ld/Makefile.in index 29d1036..c7c9c36 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -14,6 +14,12 @@ bindir = $(prefix)/bin libdir = $(prefix)/lib libsubdir = $(libdir)/gcc/$(target)/$(version) +# Seach path to override the default search path for -lfoo libraries. +# If LIB_PATH is empty, the ones in the script (if any) are left alone. +# Otherwise, they are replaced with the ones given in LIB_PATH, +# which may have the form: LIB_PATH=/lib:/usr/local/lib +LIB_PATH = + INSTALL = install -c INSTALL_PROGRAM = $(INSTALL) INSTALL_FILE = $(INSTALL) @@ -68,7 +74,12 @@ SED_REMOVE_CONSTRUCTORS= -e /CONSTRUCTORS/d # Each .sc .scr or .scu script is filtered by mkscript # into a string literal that can be included in a .c program. .sc.x: - ./mkscript < $< >$*.x + if [ "x"$(LIB_PATH) = "x" ]; then ./mkscript < $< >$*.x ; \ + else \ + (sed <$< -e '/SEARCH_DIR(.*)/d' ; \ + echo $(LIB_PATH) | tr ':' ' ' | sed -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\1);/g';) | ./mkscript >$*.x;\ + fi +# ./mkscript < $< >$*.x .scu.xu: ./mkscript < $< >$*.xu .scr.xr: @@ -120,21 +131,21 @@ ldlex.c: ldlex.l lex -t $(VPATH)/ldlex.l >ldlex.c -ldgld.c: ldtemplate +ldgld.c: $(srcdir)/ldtemplate sed -e s/"<ldtarget>"/ldgld/g -e s/"<arch>"/m68k/g \ - -e s/"<target>"//g -e s/"<TARGET>"//g < ldtemplate > ldgld.c -news.c: ldtemplate + -e s/"<target>"//g -e s/"<TARGET>"//g <$< >$@ +news.c: $(srcdir)/ldtemplate sed -e s/"<ldtarget>"/news/g -e s/"<arch>"/m68k/g \ - -e s/"<target>"/news/g -e s/"<TARGET>"/NEWS/g < ldtemplate > news.c -ldgld68k.c: ldtemplate + -e s/"<target>"/news/g -e s/"<TARGET>"/NEWS/g <$< >$@ +ldgld68k.c: $(srcdir)/ldtemplate sed -e s/"<ldtarget>"/ldgld68k/g -e s/"<arch>"/m68k/g \ - -e s/"<target>"/68k/g -e s/"<TARGET>"/68K/g < ldtemplate > ldgld68k.c -ldglda29k.c: ldtemplate + -e s/"<target>"/68k/g -e s/"<TARGET>"/68K/g <$< >$@ +ldglda29k.c: $(srcdir)/ldtemplate sed -e s/"<ldtarget>"/ldglda29k/g -e s/"<arch>"/a29k/g \ - -e s/"<target>"/29k/g -e s/"<TARGET>"/29K/g < ldtemplate > ldglda29k.c -ldm88k.c: ldtemplate + -e s/"<target>"/29k/g -e s/"<TARGET>"/29K/g <$< >$@ +ldm88k.c: $(srcdir)/ldtemplate sed -e s/"<ldtarget>"/ldm88k/g -e s/"<arch>"/m88k/g \ - -e s/"<target>"/m88kbcs/g -e s/"<TARGET>"/M88KBCS/g < ldtemplate > ldm88k.c + -e s/"<target>"/m88kbcs/g -e s/"<TARGET>"/M88KBCS/g <$< >$@ # The .c files for these are generated from ldtemplete. ldgld.o: ./mkscript ldgld.x ldgld.xr ldgld.xu diff --git a/ld/ldglda29k.sc b/ld/ldglda29k.sc index 6d7d19a..ed7544c 100755 --- a/ld/ldglda29k.sc +++ b/ld/ldglda29k.sc @@ -1,8 +1,8 @@ OUTPUT_FORMAT("coff-a29k-big") INPUT(/lab3/u3/sym1/tools/usr/lib/segments.o) /* Has .rstack/.mstack */ -SEARCH_DIR(/lab3/u3/sym1/tools/lib) -SEARCH_DIR(/lab3/u3/sym1/tools/usr/lib) -SEARCH_DIR(/lab3/u3/sym1/tools/usr/local/lib) +SEARCH_DIR(/lib) +SEARCH_DIR(/usr/lib) +SEARCH_DIR(/usr/local/lib) MEMORY { text : ORIGIN = 0x1000000, LENGTH = 0x1000000 talias : ORIGIN = 0x2000000, LENGTH = 0x1000000 diff --git a/ld/ldtemplate b/ld/ldtemplate index 34d2da3..b627935 100755 --- a/ld/ldtemplate +++ b/ld/ldtemplate @@ -61,9 +61,6 @@ static void gld<target>_before_parse() extern char lprefix; lprefix = '@'; #else - ldfile_add_library_path("/lib"); - ldfile_add_library_path("/usr/lib"); - ldfile_add_library_path("/usr/local/lib"); #ifndef TARGET_ /* I.e., if not generic */ ldfile_output_architecture = bfd_arch_<arch>; #endif |