Same as https://gcc.gnu.org/ml/gcc-patches/2015-04/msg01387.html but for AArch64.
-dynamic-linker is only passed to the linker if !static && !shared. -rdynamic handling is changed too to be consistent with arm: only pass -export-dynamic if !static. 2015-07-22 Szabolcs Nagy <szabolcs.n...@arm.com> PR target/65711 * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move -dynamic-linker within %{!static %{!shared, and -rdynamic within %{!static.
diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h index 1600a32..c51c8b2 100644 --- a/gcc/config/aarch64/aarch64-linux.h +++ b/gcc/config/aarch64/aarch64-linux.h @@ -38,8 +38,9 @@ %{static:-Bstatic} \ %{shared:-shared} \ %{symbolic:-Bsymbolic} \ - %{rdynamic:-export-dynamic} \ - -dynamic-linker " GNU_USER_DYNAMIC_LINKER " \ + %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}} \ -X \ %{mbig-endian:-EB} %{mlittle-endian:-EL} \ -maarch64linux%{mabi=ilp32:32}%{mbig-endian:b}"