[PATCH] D118021: [Driver] Use libatomic for 32-bit SPARC atomics support

Rainer Orth via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 10 03:36:32 PST 2022


ro added inline comments.


================
Comment at: clang/test/Driver/solaris-ld.c:46
 // CHECK-LD-SPARC64-SAME: "-L[[SYSROOT]]/usr/lib/sparcv9"
+// CHECK-LD-SPARC64-NOT:  "-zignore"
+// CHECK-LD-SPARC64-NOT:  "-latomic"
----------------
ro wrote:
> MaskRay wrote:
> > Such NOT patterns are usually inadequate and may go stale pretty easily, since technically the patterns can occur in many places.
> > 
> > One idea is to use --implicit-check-not; another is to enumerate all options and use the `{{^}}` style I picked in linux-cross.cpp, but perhaps your style is good enough if we can remember these library after after -L and before -lgcc_s
> > Such NOT patterns are usually inadequate and may go stale pretty easily, since technically the patterns can occur in many places.
> 
> I wondered so myself: while this is currently the only instance of `-zignore`/`-zrecord`, `-lgcc_s` requires similar treatment.
> 
> > One idea is to use --implicit-check-not; another is to enumerate all options and use the `{{^}}` style I picked in linux-cross.cpp, but perhaps your style is good enough if we can remember these library after after -L and before -lgcc_s
> 
> I'll check those.  However, it occured to me that the crucial check is that `-latomic` isn't added at all, `-zignore`/`-zrecord` or no, so maybe just check for that and avoid the issue for the moment.
In the end, I've decided to go for the simple `*-NOT: "-latomic" form: it's simple and robust, which is all the more important since this patch needs to go into the `release/14.x` branch, too.

Going forward, I thing going for the `linux-cross.cpp` style is best.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118021/new/

https://reviews.llvm.org/D118021



More information about the cfe-commits mailing list