[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