[PATCH] D75866: [AIX] supporting the visibility attribute for aix assembly
Digger via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 13 06:22:12 PDT 2020
DiggerLin added a comment.
We(David, Hubert, Jason, Sean and me) has discussed about the visibility this afternoon.
1. We agree to separate into three patch.
First patch:
cat > test.c
void foo() {};
Currently, llc will generate assembly code as (assembly patch)
.globl foo
.globl .foo
.csect foo[DS]
foo:
.long .foo
.long TOC[TC0]
.long 0
and symbol table as (xcoff object file)
[4] m 0x00000004 .data 1 unamex foo
[5] a4 0x0000000c 0 0 SD DS 0 0
[6] m 0x00000004 .data 1 extern foo
[7] a4 0x00000004 0 0 LD DS 0 0
After first patch, the assembly will be as
.globl foo[DS] # -- Begin function foo
.globl .foo
.align 2
.csect foo[DS]
.long .foo
.long TOC[TC0]
.long 0
and symbol table will as
[6] m 0x00000004 .data 1 extern foo
[7] a4 0x00000004 0 0 DS DS 0 0
we need to change the code for the assembly path and xcoff object file patch for llc.
and also need to modify all the aix test cases which relate to above change
Second Patch.
We will support .extern and .weak directive in Second Patch.
Third Patch
We will support visibility in third patch. (this patch will be the third patch)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75866/new/
https://reviews.llvm.org/D75866
More information about the llvm-commits
mailing list