boostorg / boostorg/build

undefined-sanitizer, xenial on Travis CI

Aperta
#451 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
transition
Lingua principale
C++
Stelle
251
Fork
63
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

On Travis CI using the xenial image, when compiling boostorg/uuid with `undefined-sanitizer=norecover` I get a link error:

https://travis-ci.org/boostorg/uuid/jobs/543694135
```
b2 toolset=gcc-8 cxxstd=03,11,14 undefined-sanitizer=norecover define=BOOST_NO_STRESS_TEST=1 variant=debug -j3
...
gcc.link ../../bin.v2/libs/uuid/test/test_include1.test/gcc-8/debug/cxxstd-03-iso/link-static/threading-multi/undefined-sanitizer-norecover/visibility-hidden/test_include1
/usr/bin/ld: unrecognized option '--push-state--no-as-needed'
/usr/bin/ld: use the --help option for usage information
collect2: error: ld returned 1 exit status
"g++-8" -o "../../bin.v2/libs/uuid/test/test_include1.test/gcc-8/debug/cxxstd-03-iso/link-static/threading-multi/undefined-sanitizer-norecover/visibility-hidden/test_include1" -Wl,--start-group "../../bin.v2/libs/uuid/test/test_include1.test/gcc-8/debug/cxxstd-03-iso/link-static/threading-multi/undefined-sanitizer-norecover/visibility-hidden/test_include1.o" "../../bin.v2/libs/uuid/test/test_include1.test/gcc-8/debug/cxxstd-03-iso/link-static/threading-multi/undefined-sanitizer-norecover/visibility-hidden/test_include2.o" -Wl,-Bstatic -Wl,-Bdynamic -lrt -Wl,--end-group -m64 -pthread -std=c++03 -g -fvisibility=hidden -fvisibility-inlines-hidden -fsanitize=undefined -fno-sanitize-recover=undefined
...failed gcc.link ../../bin.v2/libs/uuid/test/test_include1.test/gcc-8/debug/cxxstd-03-iso/link-static/threading-multi/undefined-sanitizer-norecover/visibility-hidden/test_include1...
```

A workaround to this is to force the use of the gold linker:

https://travis-ci.org/boostorg/uuid/jobs/543759905
```
b2 toolset=gcc-8 cxxstd=03,11,14 undefined-sanitizer=norecover define=BOOST_NO_STRESS_TEST=1 linkflags=-fuse-ld=gold variant=debug -j3
```

It looks like a linker option is being used that the standard `ld` linker does not understand?

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.