[PATCH] D80415: [AIX] Add '-bcdtors:all:0:s' to linker to gather static init functions

Steven Wan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 22 14:31:34 PDT 2020


stevewan marked 3 inline comments as done.
stevewan added inline comments.


================
Comment at: clang/test/Driver/aix-ld.cpp:2
+// Check powerpc-ibm-aix7.1.0.0, 32-bit. 'bcdtors' and argument order.
+// RUN: %clangxx -no-canonical-prefixes %s 2>&1 -### \
+// RUN:          -Wl,-bnocdtors \
----------------
hubert.reinterpretcast wrote:
> I am wondering if it makes sense to put this into `aix-ld.c`. It helps to demonstrate that the link step behaviour is not determined by the source file name.
> 
> For example, in `hexagon-toolchain-elf.c`:
> ```
> 182 // RUN: %clangxx -### -target hexagon-unknown-elf \
> 183 // RUN:   -ccc-install-dir %S/Inputs/hexagon_tree/Tools/bin \
> 184 // RUN:   -mcpu=hexagonv60 \
> 185 // RUN:   %s 2>&1 \
> 186 // RUN:   | FileCheck -check-prefix=CHECK031 %s
> ```
Yes, it makes sense to show that, and that was my original design. I moved this to a separate file to avoid getting a warning because of the inherited `CHECK-LD32-ARG-ORDER-NOT: warning:`. I'm now thinking of two ways to incorporate this into `aix-ld.c`,
1. Simply remove the warning check like what's done in the example you've showed.
2. Change the line `CHECK-LD32-ARG-ORDER-NOT: warning:` into something like,

```
// CHECK-LD32-ARG-ORDER-NOT: warning:
// CHECK-LD32-ARG-ORDER:     warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
// CHECK-LD32-ARG-ORDER-NOT: warning:
```
Do we have a preference for one way over another?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80415





More information about the cfe-commits mailing list