[clang] [PowerPC] Support local-dynamic TLS relocation on AIX (PR #66316)

Felix via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 25 04:47:07 PDT 2023


orcguru wrote:

When a module contains three TLS LD variables

>From assembly file generated by "as -a64 -many -o"
```
00000000000002f8 (idx: 33) a[TC]:
     2f8: 00 00 00 00   <unknown>
                00000000000002f8:  R_TLS_LD     (idx: 41) a[TL]
     2fc: 00 00 00 00   <unknown>

0000000000000300 (idx: 35) _$TLSML[TC]:
     300: 00 00 00 00   <unknown>
                0000000000000300:  R_TLSML      (idx: 35) _$TLSML[TC]
     304: 00 00 00 00   <unknown>

0000000000000308 (idx: 37) b[TC]:
     308: 00 00 00 00   <unknown>
                0000000000000308:  R_TLS_LD     (idx: 43) b[TL]
     30c: 00 00 00 04   <unknown>

0000000000000310 (idx: 39) c[TC]:
     310: 00 00 00 00   <unknown>
                0000000000000310:  R_TLS_LD     (idx: 45) c[TL]
     314: 00 00 00 08   <unknown>
```

Object mode output:
```
00000000000002f8 (idx: 31) a[TC]:
     2f8: 00 00 00 00   <unknown>
                00000000000002f8:  R_TLS_LD     (idx: 39) a[TL]
     2fc: 00 00 00 00   <unknown>

0000000000000300 (idx: 33) _$TLSML[TC]:
     300: 00 00 00 00   <unknown>
                0000000000000300:  R_TLSML      (idx: 33) _$TLSML[TC]
     304: 00 00 00 00   <unknown>

0000000000000308 (idx: 35) b[TC]:
     308: 00 00 00 00   <unknown>
                0000000000000308:  R_TLS_LD     (idx: 41) b[TL]
     30c: 00 00 00 00   <unknown>

0000000000000310 (idx: 37) c[TC]:
     310: 00 00 00 00   <unknown>
                0000000000000310:  R_TLS_LD     (idx: 43) c[TL]
     314: 00 00 00 00   <unknown>
```

Obj mode had wrong offset.

https://github.com/llvm/llvm-project/pull/66316


More information about the cfe-commits mailing list