diff options
author | Daniel Jacobowitz <drow@false.org> | 2003-01-06 16:14:01 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2003-01-06 16:14:01 +0000 |
commit | 9c8ebd6a5127e55660465d193593cce16b26516c (patch) | |
tree | d9e30a69db894db226592dad8cf182d9bc60b00a /ld/ldmain.c | |
parent | b089b3da7575478aa863aa494cce5d5d7d4b68fe (diff) | |
download | gdb-9c8ebd6a5127e55660465d193593cce16b26516c.zip gdb-9c8ebd6a5127e55660465d193593cce16b26516c.tar.gz gdb-9c8ebd6a5127e55660465d193593cce16b26516c.tar.bz2 |
* Makefile.am (eelf32iq10.c): Fix tab/whitespace mixup.
* Makefile.am (ldmain.o): Add @TARGET_SYSTEM_ROOT_DEFINE@.
(GENSCRIPTS): Add @use_sysroot@.
* Makefile.in: Regenerated.
* configure.host: Move setting of NATIVE_LIB_DIRS to...
* configure.tgt: ... here. Use ${target} instead of ${host}
for NATIVE_LIB_DIRS.
* configure.in: Add --with-sysroot.
* configure: Regenerated.
* genscripts.sh: Accept use_sysroot option. Set new variables
NATIVE and USE_LIBPATH. Prepend "=" to directory names if
$use_sysroot. Don't search $tool_lib if $use_sysroot.
* ldfile.c (ldfile_add_library_path): Handle leading '='.
* ldmain.c (TARGET_SYSTEM_ROOT): Define if not defined.
(ld_sysroot): New variable.
(main): Initialize ld_sysroot.
* ldmain.h (ld_sysroot): New extern.
* emultempl/elf32.em: Use NATIVE and USE_LIBPATH instead of
searching $EMULATION_LIBPATH.
(gld${EMULATION_NAME}_add_sysroot): New function.
(gld${EMULATION_NAME}_check_ld_so_conf): Use it. Honor ld_sysroot.
(gld${EMULATION_NAME}_after_open): Likewise. Only search
environment variables if $NATIVE.
* ld.texinfo (Options): Mention "=" prefix in the description of -L.
* NEWS: Mention --with-sysroot.
* emulparams/elf32bmipn32-defs.sh: Set NATIVE and LIBPATH_SUFFIX
instead of setting LIB_PATH.
* emulparams/elf32ppc.sh: Likewise.
* emulparams/elf64_s390.sh: Likewise.
* emulparams/elf64_sparc.sh: Likewise.
* emulparams/elf64ppc.sh: Likewise.
* emulparams/elf_x86_64.sh: Likewise.
* emulparams/elf64_aix.sh: Add "=" prefixes to LIB_PATH.
* emulparams/elf64hppa.sh: Add "=" prefixes to LIB_PATH.
Diffstat (limited to 'ld/ldmain.c')
-rw-r--r-- | ld/ldmain.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ld/ldmain.c b/ld/ldmain.c index 3185bef..0117b1c 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -55,6 +55,10 @@ extern PTR sbrk (); #endif #endif +#ifndef TARGET_SYSTEM_ROOT +#define TARGET_SYSTEM_ROOT "" +#endif + int main PARAMS ((int, char **)); static char *get_emulation PARAMS ((int, char **)); @@ -68,6 +72,9 @@ const char *output_filename = "a.out"; /* Name this program was invoked by. */ char *program_name; +/* The prefix for system library directories. */ +char *ld_sysroot; + /* The file that we're creating. */ bfd *output_bfd = 0; @@ -189,6 +196,23 @@ main (argc, argv) xatexit (remove_output); +#ifdef TARGET_SYSTEM_ROOT_RELOCATABLE + ld_sysroot = make_relative_prefix (program_name, BINDIR, + TARGET_SYSTEM_ROOT); + if (ld_sysroot) + { + struct stat s; + int res = stat (ld_sysroot, &s) == 0 && S_ISDIR (s.st_mode); + if (!res) + { + free (ld_sysroot); + ld_sysroot = TARGET_SYSTEM_ROOT; + } + } +#else + ld_sysroot = TARGET_SYSTEM_ROOT; +#endif + /* Set the default BFD target based on the configured target. Doing this permits the linker to be configured for a particular target, and linked against a shared BFD library which was configured for |