Simplify --sysroot=/
Prepending '/' to absolute paths doesn't gain us much, and results in the current implementation of --trace emitting silly path-in-sysroot output, eg. /lib/ld-linux-x86-64.so.2 (//lib/ld-linux-x86-64.so.2) * ldmain.c (get_sysroot): Return "" for "--sysroot=/".
This commit is contained in:
parent
8d1015a887
commit
55d5520ae3
|
@ -1,3 +1,7 @@
|
|||
2018-10-29 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ldmain.c (get_sysroot): Return "" for "--sysroot=/".
|
||||
|
||||
2018-10-29 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* Makefile.am (ei386beos.c, ei386go32.c): Correct dependencies.
|
||||
|
|
22
ld/ldmain.c
22
ld/ldmain.c
|
@ -584,21 +584,25 @@ static const char *
|
|||
get_sysroot (int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
const char *path;
|
||||
const char *path = NULL;
|
||||
|
||||
for (i = 1; i < argc; i++)
|
||||
if (CONST_STRNEQ (argv[i], "--sysroot="))
|
||||
return argv[i] + strlen ("--sysroot=");
|
||||
path = argv[i] + strlen ("--sysroot=");
|
||||
|
||||
path = get_relative_sysroot (BINDIR);
|
||||
if (path)
|
||||
return path;
|
||||
if (!path)
|
||||
path = get_relative_sysroot (BINDIR);
|
||||
|
||||
path = get_relative_sysroot (TOOLBINDIR);
|
||||
if (path)
|
||||
return path;
|
||||
if (!path)
|
||||
path = get_relative_sysroot (TOOLBINDIR);
|
||||
|
||||
return TARGET_SYSTEM_ROOT;
|
||||
if (!path)
|
||||
path = TARGET_SYSTEM_ROOT;
|
||||
|
||||
if (IS_DIR_SEPARATOR (*path) && path[1] == 0)
|
||||
path = "";
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
/* We need to find any explicitly given emulation in order to initialize the
|
||||
|
|
Loading…
Reference in New Issue