Skip to content

Commit 66799bf

Browse files
committed
[AIX][clang][driver] Restrict /usr/lib to internal library search paths
Adding it to the general filepaths results in it being added to the linker arguments. The AIX linker always looks in this path anyway and adds it as a default library path component. Adding this duplicate explicitly results in duplicate entries in path in the loader section of executables and messes up tools like CMake that parse the default library flags. Reviewed By: ZarkoCA Differential Revision: https://reviews.llvm.org/D97574
1 parent 9403b59 commit 66799bf

File tree

2 files changed

+1
-23
lines changed

2 files changed

+1
-23
lines changed

clang/lib/Driver/ToolChains/AIX.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA,
176176
/// AIX - AIX tool chain which can call as(1) and ld(1) directly.
177177
AIX::AIX(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
178178
: ToolChain(D, Triple, Args) {
179-
getFilePaths().push_back(getDriver().SysRoot + "/usr/lib");
179+
getLibraryPaths().push_back(getDriver().SysRoot + "/usr/lib");
180180
}
181181

182182
// Returns the effective header sysroot path to use.

clang/test/Driver/aix-ld.c

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
// CHECK-LD32: "-bpT:0x10000000" "-bpD:0x20000000"
1818
// CHECK-LD32: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
1919
// CHECK-LD32: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
20-
// CHECK-LD32: "-L[[SYSROOT]]/usr/lib"
2120
// CHECK-LD32-NOT: "-lc++"
2221
// CHECK-LD32: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
2322
// CHECK-LD32-NOT: "-lm"
@@ -39,7 +38,6 @@
3938
// CHECK-LD64: "-bpT:0x100000000" "-bpD:0x110000000"
4039
// CHECK-LD64: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
4140
// CHECK-LD64: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
42-
// CHECK-LD64: "-L[[SYSROOT]]/usr/lib"
4341
// CHECK-LD64-NOT: "-lc++"
4442
// CHECK-LD64: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
4543
// CHECK-LD64-NOT: "-lm"
@@ -62,7 +60,6 @@
6260
// CHECK-LD32-PTHREAD: "-bpT:0x10000000" "-bpD:0x20000000"
6361
// CHECK-LD32-PTHREAD: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
6462
// CHECK-LD32-PTHREAD: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
65-
// CHECK-LD32-PTHREAD: "-L[[SYSROOT]]/usr/lib"
6663
// CHECK-LD32-PTHREAD-NOT: "-lc++"
6764
// CHECK-LD32-PTHREAD: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
6865
// CHECK-LD32-PTHREAD: "-lpthreads"
@@ -86,7 +83,6 @@
8683
// CHECK-LD64-PTHREAD: "-bpT:0x100000000" "-bpD:0x110000000"
8784
// CHECK-LD64-PTHREAD: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
8885
// CHECK-LD64-PTHREAD: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
89-
// CHECK-LD64-PTHREAD: "-L[[SYSROOT]]/usr/lib"
9086
// CHECK-LD64-PTHREAD-NOT: "-lc++"
9187
// CHECK-LD64-PTHREAD: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
9288
// CHECK-LD64-PTHREAD: "-lpthreads"
@@ -110,7 +106,6 @@
110106
// CHECK-LD32-PROF: "-bpT:0x10000000" "-bpD:0x20000000"
111107
// CHECK-LD32-PROF: "[[SYSROOT]]/usr/lib{{/|\\\\}}mcrt0.o"
112108
// CHECK-LD32-PROF: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
113-
// CHECK-LD32-PROF: "-L[[SYSROOT]]/usr/lib"
114109
// CHECK-LD32-PROF-NOT: "-lc++"
115110
// CHECK-LD32-PROF: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
116111
// CHECK-LD32-PROF-NOT: "-lm"
@@ -133,7 +128,6 @@
133128
// CHECK-LD64-GPROF: "-bpT:0x100000000" "-bpD:0x110000000"
134129
// CHECK-LD64-GPROF: "[[SYSROOT]]/usr/lib{{/|\\\\}}gcrt0_64.o"
135130
// CHECK-LD64-GPROF: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
136-
// CHECK-LD64-GPROF: "-L[[SYSROOT]]/usr/lib"
137131
// CHECK-LD64-GPROF-NOT: "-lc++"
138132
// CHECK-LD64-GPROF: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
139133
// CHECK-LD64-GPROF-NOT: "-lm"
@@ -156,7 +150,6 @@
156150
// CHECK-LD32-STATIC: "-bpT:0x10000000" "-bpD:0x20000000"
157151
// CHECK-LD32-STATIC: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
158152
// CHECK-LD32-STATIC: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
159-
// CHECK-LD32-STATIC: "-L[[SYSROOT]]/usr/lib"
160153
// CHECK-LD32-STATIC-NOT: "-lc++"
161154
// CHECK-LD32-STATIC: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
162155
// CHECK-LD32-STATIC-NOT: "-lm"
@@ -180,7 +173,6 @@
180173
// CHECK-LD32-LIBP: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
181174
// CHECK-LD32-LIBP: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
182175
// CHECK-LD32-LIBP: "-L[[SYSROOT]]/powerpc-ibm-aix7.1.0.0"
183-
// CHECK-LD32-LIBP: "-L[[SYSROOT]]/usr/lib"
184176
// CHECK-LD32-LIBP-NOT: "-lc++"
185177
// CHECK-LD32-LIBP: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
186178
// CHECK-LD32-LIBP-NOT: "-lm"
@@ -204,7 +196,6 @@
204196
// CHECK-LD32-NO-STD-LIB: "-bpT:0x10000000" "-bpD:0x20000000"
205197
// CHECK-LD32-NO-STD-LIB-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
206198
// CHECK-LD32-NO-STD-LIB-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
207-
// CHECK-LD32-NO-STD-LIB: "-L[[SYSROOT]]/usr/lib"
208199
// CHECK-LD32-NO-STD-LIB-NOT: "-lc++"
209200
// CHECK-LD32-NO-STD-LIB-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
210201
// CHECK-LD32-NO-STD-LIB-NOT: "-lpthreads"
@@ -229,7 +220,6 @@
229220
// CHECK-LD64-NO-DEFAULT-LIBS: "-bpT:0x100000000" "-bpD:0x110000000"
230221
// CHECK-LD64-NO-DEFAULT-LIBS: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
231222
// CHECK-LD64-NO-DEFAULT-LIBS: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
232-
// CHECK-LD64-NO-DEFAULT-LIBS: "-L[[SYSROOT]]/usr/lib"
233223
// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lc++"
234224
// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
235225
// CHECK-LD64-NO-DEFAULT-LIBS-NOT: "-lpthreads"
@@ -298,7 +288,6 @@
298288
// CHECK-LD32-CXX-ARG-LCXX: "-bpT:0x10000000" "-bpD:0x20000000"
299289
// CHECK-LD32-CXX-ARG-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
300290
// CHECK-LD32-CXX-ARG-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
301-
// CHECK-LD32-CXX-ARG-LCXX: "-L[[SYSROOT]]/usr/lib"
302291
// CHECK-LD32-CXX-ARG-LCXX: "-lc++"
303292
// CHECK-LD32-CXX-ARG-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
304293
// CHECK-LD32-CXX-ARG-LCXX: "-lm"
@@ -318,7 +307,6 @@
318307
// CHECK-LD64-CXX-ARG-LCXX: "-bpT:0x100000000" "-bpD:0x110000000"
319308
// CHECK-LD64-CXX-ARG-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
320309
// CHECK-LD64-CXX-ARG-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
321-
// CHECK-LD64-CXX-ARG-LCXX: "-L[[SYSROOT]]/usr/lib"
322310
// CHECK-LD64-CXX-ARG-LCXX: "-lc++"
323311
// CHECK-LD64-CXX-ARG-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
324312
// CHECK-LD64-CXX-ARG-LCXX: "-lm"
@@ -339,7 +327,6 @@
339327
// CHECK-LD32-NODEFLIB-LCXX: "-bpT:0x10000000" "-bpD:0x20000000"
340328
// CHECK-LD32-NODEFLIB-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
341329
// CHECK-LD32-NODEFLIB-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
342-
// CHECK-LD32-NODEFLIB-LCXX: "-L[[SYSROOT]]/usr/lib"
343330
// CHECK-LD32-NODEFLIB-LCXX-NOT: "-lc++"
344331
// CHECK-LD32-NODEFLIB-LCXX-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
345332
// CHECK-LD32-NODEFLIB-LCXX-NOT: "-lm"
@@ -360,7 +347,6 @@
360347
// CHECK-LD64-NODEFLIB-LCXX: "-bpT:0x100000000" "-bpD:0x110000000"
361348
// CHECK-LD64-NODEFLIB-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
362349
// CHECK-LD64-NODEFLIB-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
363-
// CHECK-LD64-NODEFLIB-LCXX: "-L[[SYSROOT]]/usr/lib"
364350
// CHECK-LD64-NODEFLIB-LCXX-NOT: "-lc++"
365351
// CHECK-LD64-NODEFLIB-LCXX-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
366352
// CHECK-LD64-NODEFLIB-LCXX-NOT: "-lm"
@@ -381,7 +367,6 @@
381367
// CHECK-LD32-NOSTDLIB-LCXX: "-bpT:0x10000000" "-bpD:0x20000000"
382368
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
383369
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
384-
// CHECK-LD32-NOSTDLIB-LCXX: "-L[[SYSROOT]]/usr/lib"
385370
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "-lc++"
386371
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
387372
// CHECK-LD32-NOSTDLIB-LCXX-NOT: "-lm"
@@ -402,7 +387,6 @@
402387
// CHECK-LD64-NOSTDLIB-LCXX: "-bpT:0x100000000" "-bpD:0x110000000"
403388
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
404389
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
405-
// CHECK-LD64-NOSTDLIB-LCXX: "-L[[SYSROOT]]/usr/lib"
406390
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "-lc++"
407391
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
408392
// CHECK-LD64-NOSTDLIB-LCXX-NOT: "-lm"
@@ -424,7 +408,6 @@
424408
// CHECK-LD32-NOSTDLIBXX-LCXX: "-bpT:0x10000000" "-bpD:0x20000000"
425409
// CHECK-LD32-NOSTDLIBXX-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
426410
// CHECK-LD32-NOSTDLIBXX-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
427-
// CHECK-LD32-NOSTDLIBXX-LCXX: "-L[[SYSROOT]]/usr/lib"
428411
// CHECK-LD32-NOSTDLIBXX-LCXX-NOT: "-lc++"
429412
// CHECK-LD32-NOSTDLIBXX-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
430413
// CHECK-LD32-NOSTDLIBXX-LCXX: "-lm"
@@ -445,7 +428,6 @@
445428
// CHECK-LD64-NOSTDLIBXX-LCXX: "-bpT:0x100000000" "-bpD:0x110000000"
446429
// CHECK-LD64-NOSTDLIBXX-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
447430
// CHECK-LD64-NOSTDLIBXX-LCXX: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
448-
// CHECK-LD64-NOSTDLIBXX-LCXX: "-L[[SYSROOT]]/usr/lib"
449431
// CHECK-LD64-NOSTDLIBXX-LCXX-NOT: "-lc++"
450432
// CHECK-LD64-NOSTDLIBXX-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
451433
// CHECK-LD64-NOSTDLIBXX-LCXX: "-lm"
@@ -466,7 +448,6 @@
466448
// CHECK-LD32-NOSTARTFILES-LCXX: "-bpT:0x10000000" "-bpD:0x20000000"
467449
// CHECK-LD32-NOSTARTFILES-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
468450
// CHECK-LD32-NOSTARTFILES-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
469-
// CHECK-LD32-NOSTARTFILES-LCXX: "-L[[SYSROOT]]/usr/lib"
470451
// CHECK-LD32-NOSTARTFILES-LCXX: "-lc++"
471452
// CHECK-LD32-NOSTARTFILES-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
472453
// CHECK-LD32-NOSTARTFILES-LCXX: "-lm"
@@ -487,7 +468,6 @@
487468
// CHECK-LD64-NOSTARTFILES-LCXX: "-bpT:0x100000000" "-bpD:0x110000000"
488469
// CHECK-LD64-NOSTARTFILES-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
489470
// CHECK-LD64-NOSTARTFILES-LCXX-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
490-
// CHECK-LD64-NOSTARTFILES-LCXX: "-L[[SYSROOT]]/usr/lib"
491471
// CHECK-LD64-NOSTARTFILES-LCXX: "-lc++"
492472
// CHECK-LD64-NOSTARTFILES-LCXX: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
493473
// CHECK-LD64-NOSTARTFILES-LCXX: "-lm"
@@ -525,7 +505,6 @@
525505
// CHECK-LD32-SHARED: "-bpT:0x10000000" "-bpD:0x20000000"
526506
// CHECK-LD32-SHARED-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0.o"
527507
// CHECK-LD32-SHARED-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti.o"
528-
// CHECK-LD32-SHARED: "-L[[SYSROOT]]/usr/lib"
529508
// CHECK-LD32-SHARED: "-lc++"
530509
// CHECK-LD32-SHARED: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc.a"
531510
// CHECK-LD32-SHARED: "-lm"
@@ -548,7 +527,6 @@
548527
// CHECK-LD64-SHARED: "-bpT:0x100000000" "-bpD:0x110000000"
549528
// CHECK-LD64-SHARED-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crt0_64.o"
550529
// CHECK-LD64-SHARED-NOT: "[[SYSROOT]]/usr/lib{{/|\\\\}}crti_64.o"
551-
// CHECK-LD64-SHARED: "-L[[SYSROOT]]/usr/lib"
552530
// CHECK-LD64-SHARED: "-lc++"
553531
// CHECK-LD64-SHARED: "[[RESOURCE_DIR]]{{/|\\\\}}lib{{/|\\\\}}aix{{/|\\\\}}libclang_rt.builtins-powerpc64.a"
554532
// CHECK-LD64-SHARED: "-lm"

0 commit comments

Comments
 (0)