jsing a20b34842d Allow weak symbols to be duplicated when already defined.
When -mretpoline is enabled with clang, a __llvm_retpoline_r11 weak symbol
is emitted in each compilation unit. This results in the Go linker
complaining when processing a package archive that contains cgo linkages,
since it finds the same weak symbol defined in multiple object files.

Relax the duplicate symbol detection such that weak symbols are permitted
to be duplicated. This makes it possible to build Go with clang again and
addresses a similar duplicate weak symbol issue that results from retguard.

Also backport an upstream commit that corrects the handling of libgcc vs
libcompiler_rt. Combined with the above fix `make regress` now passes with
both gcc and clang.
2019-01-05 12:59:25 +00:00
..
2018-12-15 14:54:41 +00:00
2018-12-15 14:54:41 +00:00