On Mon, 12 Feb 2018 15:18:39 PST (-0800), Jim Wilson wrote:
On 02/12/2018 03:23 AM, Andreas Schwab wrote:
On Feb 06 2017, Palmer Dabbelt <pal...@dabbelt.com> wrote:

+/* 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

Why is -latomic added only with -pthread if --as-needed is supported,
but unconditionally if not?  Wouldn't it make sense to add it
unconditionally in both cases?

I don't know the history here, but I do know that the most common atomic
related bug report we get is for people using pthread, so we were
probably thinking about that when this was written.

IIRC that's why it's done this way.

Reply via email to