Message ID | mvm7ctp4rbz.fsf@suse.de |
---|---|
State | New |
Headers | show |
Series | riscv: Don't add -latomic with -pthread | expand |
OK, thanks :) On Wed, May 3, 2023 at 6:55 PM Andreas Schwab via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > Now that we have support for inline subword atomic operations, it is no > longer necessary to link against libatomic. This also fixes testsuite > failures because the framework does not properly set up the linker flags > for finding libatomic. > The use of atomic operations is also independent of the use of libpthread. > --- > gcc/config/riscv/linux.h | 10 ---------- > 1 file changed, 10 deletions(-) > > diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h > index b9557a75dc7..2fdfd930cf2 100644 > --- a/gcc/config/riscv/linux.h > +++ b/gcc/config/riscv/linux.h > @@ -35,16 +35,6 @@ along with GCC; see the file COPYING3. If not see > #undef MUSL_DYNAMIC_LINKER > #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1" > > -/* Because RISC-V only has word-sized atomics, it requries libatomic where > - others do not. So link libatomic by default, as needed. */ > -#undef LIB_SPEC > -#ifdef LD_AS_NEEDED_OPTION > -#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC \ > - " %{pthread:" LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION "}" > -#else > -#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC " -latomic " > -#endif > - > #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" > > #define CPP_SPEC "%{pthread:-D_REENTRANT}" > -- > 2.40.1 > > > -- > Andreas Schwab, SUSE Labs, schwab@suse.de > GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 > "And now for something completely different."
diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h index b9557a75dc7..2fdfd930cf2 100644 --- a/gcc/config/riscv/linux.h +++ b/gcc/config/riscv/linux.h @@ -35,16 +35,6 @@ along with GCC; see the file COPYING3. If not see #undef MUSL_DYNAMIC_LINKER #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-riscv" XLEN_SPEC MUSL_ABI_SUFFIX ".so.1" -/* Because RISC-V only has word-sized atomics, it requries libatomic where - others do not. So link libatomic by default, as needed. */ -#undef LIB_SPEC -#ifdef LD_AS_NEEDED_OPTION -#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC \ - " %{pthread:" LD_AS_NEEDED_OPTION " -latomic " LD_NO_AS_NEEDED_OPTION "}" -#else -#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC " -latomic " -#endif - #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" #define CPP_SPEC "%{pthread:-D_REENTRANT}"