Page MenuHomePhabricator
Feed Advanced Search

Wed, Nov 25

stefanp added a comment to D91611: [PowerPC][LLD] Detecting and fixing missing TLS relocation on __tls_get_addr.

I have done some testing with gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 and GNU ld (GNU Binutils for Ubuntu) 2.30.

Wed, Nov 25, 7:45 PM · Restricted Project

Mon, Nov 23

stefanp added a reviewer for D91983: [PowerPC] Fix missing nop after call to weak callee.: Restricted Project.
Mon, Nov 23, 10:54 AM · Restricted Project
stefanp requested review of D91983: [PowerPC] Fix missing nop after call to weak callee..
Mon, Nov 23, 10:54 AM · Restricted Project
stefanp added inline comments to D91426: [PowerPC] Fix issue where binary uses a .got but is missing a .TOC..
Mon, Nov 23, 4:36 AM · Restricted Project

Fri, Nov 20

stefanp added a comment to D91611: [PowerPC][LLD] Detecting and fixing missing TLS relocation on __tls_get_addr.

I remember that I have questioned about the error checking when the patch was initially brought up. The introduction of a new linker option for an incorrect case where compiler will not generate such code makes me feel more uneasy about it. Surely the linker can detect such errors but does it really have to? With assembly the user can play all sorts of tricks which will not work, but is that the duty of the linker?

Fri, Nov 20, 7:31 AM · Restricted Project
stefanp updated the summary of D91611: [PowerPC][LLD] Detecting and fixing missing TLS relocation on __tls_get_addr.
Fri, Nov 20, 7:16 AM · Restricted Project

Wed, Nov 18

stefanp added a comment to D91279: [PowerPC] DForm instructions should be preferred when using zero register.

Using dform with offset 0 can save one register r0/X0, this is benefit for register allocation? But adding it in PPCPreEmitPeephole pass which is after register allocation will make the benefit gone.
Maybe we need to do it before register allocation? For example at the place where the x-form with zero register is generated.

I checked one example loadConstant in test/CodeGen/PowerPC/f128-passByValue.ll.
We generate LXVX $zero8, in ISEL because we meet the worst case and we don't have d-form choice for the instruction selection. so we have to use x-form and in x-form selection, we have to use zero/zero8 as the base and use load address as the index. See PPCTargetLowering::SelectAddressRegRegOnly.

I guess most cases are with same reason for generating x-form + zero register, we meet the worst case in ISEL, so we have to use x-form + zero register form, with this form, we can always select a powerpc load/store instruction.

For me, a better solution should be change the worst case handling in ISEL, it is before RA and it is also transparent for types like STXVX/LXVX/ and also LDX/STDX, LFDX/STFDX...

I'm just going to jump in to give a little more background. The initial reason we wanted to do this was to enable an optimization that actually happens in the linker after the code is emitted.
To get the idea you can look at this test:

/llvm/test/CodeGen/PowerPC/pcrel-linkeropt.ll

Which contains this section:

; FIXME: we should always convert X-Form instructions that use
; PPC::ZERO[8] to the corresponding D-Form so we can perform this opt.
define dso_local void @ReadWrite128() local_unnamed_addr #0 {
; CHECK-LABEL: ReadWrite128:
; CHECK:       # %bb.0: # %entry
; CHECK-NEXT:    pld r3, input128@got@pcrel(0), 1
; CHECK-NEXT:    lxvx vs0, 0, r3
; CHECK-NEXT:    pld r3, output128@got@pcrel(0), 1
; CHECK-NEXT:    stxvx vs0, 0, r3
; CHECK-NEXT:    blr
entry:
  %0 = load i128, i128* @input128, align 16
  store i128 %0, i128* @output128, align 16
  ret void
}

When we have a GOT access like this it is possible for the compiler to mark the instruction with R_PPC64_PCREL_OPT and then the linker merges the two instructions into one and replaces the second instruction with a nop. The problem is that this opt can only be done if the second instruction is DForm. We noticed that when we implemented this optimization we could not catch all of the cases because in some situations (like the one above) we use the XForm instead of the DForm.

Having said that, we should try to do this before the PreEmitPeephole. The optimization that adds the R_PPC64_PCREL_OPT relocation is also in the PreEmitPeephole and I'm not sure if it will be detected if we do both things at the same time (both as in convert the XForm to a DForm and then have the same opt use that DForm to add the relocation).

I agree that ISel is a better place for this. If we cannot do this in ISel then we should still try to do this before we get to the PreEmitPeephole or at least make sure that both the DForm is present and that the R_PPC64_PCREL_OPT relocation is added as we expected in the same pass.

Wed, Nov 18, 1:48 PM · Restricted Project, Restricted Project, Restricted Project

Tue, Nov 17

stefanp added a comment to D91279: [PowerPC] DForm instructions should be preferred when using zero register.

Using dform with offset 0 can save one register r0/X0, this is benefit for register allocation? But adding it in PPCPreEmitPeephole pass which is after register allocation will make the benefit gone.
Maybe we need to do it before register allocation? For example at the place where the x-form with zero register is generated.

I checked one example loadConstant in test/CodeGen/PowerPC/f128-passByValue.ll.
We generate LXVX $zero8, in ISEL because we meet the worst case and we don't have d-form choice for the instruction selection. so we have to use x-form and in x-form selection, we have to use zero/zero8 as the base and use load address as the index. See PPCTargetLowering::SelectAddressRegRegOnly.

I guess most cases are with same reason for generating x-form + zero register, we meet the worst case in ISEL, so we have to use x-form + zero register form, with this form, we can always select a powerpc load/store instruction.

For me, a better solution should be change the worst case handling in ISEL, it is before RA and it is also transparent for types like STXVX/LXVX/ and also LDX/STDX, LFDX/STFDX...

Tue, Nov 17, 1:29 PM · Restricted Project, Restricted Project, Restricted Project
stefanp added inline comments to D91426: [PowerPC] Fix issue where binary uses a .got but is missing a .TOC..
Tue, Nov 17, 4:03 AM · Restricted Project
stefanp added a reviewer for D91426: [PowerPC] Fix issue where binary uses a .got but is missing a .TOC.: sfertile.
Tue, Nov 17, 3:36 AM · Restricted Project
stefanp added a reviewer for D91611: [PowerPC][LLD] Detecting and fixing missing TLS relocation on __tls_get_addr: Restricted Project.
Tue, Nov 17, 3:36 AM · Restricted Project
stefanp requested review of D91611: [PowerPC][LLD] Detecting and fixing missing TLS relocation on __tls_get_addr.
Tue, Nov 17, 3:35 AM · Restricted Project

Fri, Nov 13

stefanp added a reviewer for D91426: [PowerPC] Fix issue where binary uses a .got but is missing a .TOC.: Restricted Project.
Fri, Nov 13, 7:29 AM · Restricted Project
stefanp added a reviewer for D91426: [PowerPC] Fix issue where binary uses a .got but is missing a .TOC.: NeHuang.
Fri, Nov 13, 7:28 AM · Restricted Project
stefanp requested review of D91426: [PowerPC] Fix issue where binary uses a .got but is missing a .TOC..
Fri, Nov 13, 7:25 AM · Restricted Project

Oct 23 2020

stefanp added a comment to D85994: [LLD][PowerPC] Add check in LLD to produce an error for missing TLSGD/TLSLD.

@MaskRay
Sorry... can you pause on this for a second. I want to talk to the glibc guys about this first.

@stefanp I already did it... I think this is a problem for many ld.so implementations. For example, musl has

if ((def.sym->st_info&0xf) == STT_TLS)
         return __tls_get_addr((tls_mod_off_t []){def.dso->tls_id, def.sym->st_value-DTP_OFFSET});

It was broken as well...

Oct 23 2020, 10:54 AM · Restricted Project
stefanp added a comment to D85994: [LLD][PowerPC] Add check in LLD to produce an error for missing TLSGD/TLSLD.

@MaskRay
Sorry... can you pause on this for a second. I want to talk to the glibc guys about this first.

Oct 23 2020, 10:33 AM · Restricted Project
stefanp added a comment to D85994: [LLD][PowerPC] Add check in LLD to produce an error for missing TLSGD/TLSLD.

@MaskRay
Would you like me to just revert this change? Do you want to see something on Phabricator for it?

I have prepared a partial revert, as the test is still useful. I can do it if you allow:)

Oct 23 2020, 10:30 AM · Restricted Project
stefanp added a comment to D85994: [LLD][PowerPC] Add check in LLD to produce an error for missing TLSGD/TLSLD.

@MaskRay
Would you like me to just revert this change? Do you want to see something on Phabricator for it?

Oct 23 2020, 10:25 AM · Restricted Project
stefanp added a comment to D85994: [LLD][PowerPC] Add check in LLD to produce an error for missing TLSGD/TLSLD.

First, if this issue is not common enough, I'd rather we don't have a diagnostic at all.

If we do need it, note that *(i - 2); may be out of bounds.

Last, we should avoid pre-built object files. You can synthesize them with yaml2obj. The preferred style is llvm/test/tools/llvm-readobj/ELF/*.test. lld/test/ELF has some yaml2obj tests as well.

@stefanp The error turns out to be a problem when building glibc.

elf/dl-sym.c has a raw __tls_get_addr call (it sets up the parameter by itself), without R_PPC64_TLSGD/R_PPC64_TLSLD (similar to CallOnly). Shall we drop the logic? I believe GNU ld does not have the logic.

/* Return the symbol address given the map of the module it is in and
   the symbol record.  This is used in dl-sym.c.  */
static void *
_dl_tls_symaddr (struct link_map *map, const ElfW(Sym) *ref)
{
# ifndef DONT_USE_TLS_INDEX
  tls_index tmp =
    {
      .ti_module = map->l_tls_modid,
      .ti_offset = ref->st_value
    };

  return __TLS_GET_ADDR (&tmp);
# else
  return __TLS_GET_ADDR (map->l_tls_modid, ref->st_value);
# endif
}
#endif
Oct 23 2020, 10:19 AM · Restricted Project
stefanp committed rGc6561ccfd982: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic (authored by stefanp).
[PowerPC][LLD] Support for PC Relative TLS for Local Dynamic
Oct 23 2020, 6:24 AM
stefanp closed D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Oct 23 2020, 6:24 AM · Restricted Project
stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Updated comment in test case.

Oct 23 2020, 6:06 AM · Restricted Project

Oct 22 2020

stefanp added a comment to D89041: [libc++] Include <__config_site> from <__config>.

This is still causing a buildbot failure on a Power PC sanitizer bot:
http://lab.llvm.org:8011/#/builders/18

Oct 22 2020, 6:12 PM · Restricted Project, Restricted Project

Oct 20 2020

stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Fixed the LLVM_FALLTHROUGH
Added split-file and -soname to the test file.

Oct 20 2020, 7:55 AM · Restricted Project

Oct 15 2020

stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Fixed a couple of comments.
Moved the R_PPC64_DTPREL34 case first and adjusted the dynamic thread offset
there before falling through to the common case.

Oct 15 2020, 4:01 AM · Restricted Project

Oct 13 2020

stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Fixed the issue where the 0x8000 offset was not being considered.

Oct 13 2020, 10:53 AM · Restricted Project
stefanp added inline comments to D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Oct 13 2020, 10:25 AM · Restricted Project
stefanp accepted D88738: [PowerPC][PCRelative] Turn on TLS support for PCRel by default.

LGTM

Oct 13 2020, 6:03 AM · Restricted Project

Oct 9 2020

stefanp committed rG0741a2c9caca: [Clang][unittests][NFC] Break up test in Callbacks.cpp (authored by stefanp).
[Clang][unittests][NFC] Break up test in Callbacks.cpp
Oct 9 2020, 6:54 AM
stefanp closed D88886: [Clang][unittests][NFC] Break up test in Callbacks.cpp.
Oct 9 2020, 6:54 AM · Restricted Project

Oct 8 2020

stefanp updated the diff for D88886: [Clang][unittests][NFC] Break up test in Callbacks.cpp.

Added the missing header file.
Added the license comment.

Oct 8 2020, 7:25 AM · Restricted Project

Oct 6 2020

stefanp added a comment to D88886: [Clang][unittests][NFC] Break up test in Callbacks.cpp.

Related to this please see Nemanja's comment on https://reviews.llvm.org/D82485.

Oct 6 2020, 4:23 AM · Restricted Project
stefanp added reviewers for D88886: [Clang][unittests][NFC] Break up test in Callbacks.cpp: gribozavr, ymandel, eduucaldas.
Oct 6 2020, 4:20 AM · Restricted Project
stefanp requested review of D88886: [Clang][unittests][NFC] Break up test in Callbacks.cpp.
Oct 6 2020, 4:18 AM · Restricted Project

Oct 2 2020

stefanp added a comment to D88591: [WebAssembly] Emulate v128.const efficiently.

I can confirm that this changeset is causing the timeout on the clang-ppc64be-linux buildbot.
The following was run on a Big Endian Power PC machine.

Oct 2 2020, 9:34 AM · Restricted Project
stefanp updated the summary of D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Oct 2 2020, 9:14 AM · Restricted Project
stefanp added a comment to D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

All of the dependencies of this patch have now been committed.

Oct 2 2020, 9:13 AM · Restricted Project
stefanp added inline comments to D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Oct 2 2020, 9:09 AM · Restricted Project
stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Rebased to top of trunk.
Fixed a couple of comments.
Removed some lines that are not required form the test.

Oct 2 2020, 9:09 AM · Restricted Project

Oct 1 2020

stefanp added a comment to D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Ok, thank you MaskRay.
Sorry, in my head I didn't put the error together with what you had said previously.

Oct 1 2020, 5:01 PM · Restricted Project
stefanp added a comment to D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Looks like .rela.dyn is located in different places depending on the machine.
From two different bots:

# GDTOIE-RELOC: Relocation section '.rela.dyn' at offset 0x10118 contains 2 entries:
                ^
<stdin>:2:1: note: scanning from here
Relocation section '.rela.dyn' at offset 0x10128 contains 2 entries:

or

# GDTOIE-RELOC: Relocation section '.rela.dyn' at offset 0x10118 contains 2 entries:
                ^
<stdin>:2:1: note: scanning from here
Relocation section '.rela.dyn' at offset 0x10148 contains 2 entries:
Oct 1 2020, 12:13 PM · Restricted Project
stefanp reopened D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Reopening this to see why the test failed.

Oct 1 2020, 12:07 PM · Restricted Project
stefanp added a reverting change for rG79122868f9a3: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General…: rG5f3e565f59ee: Revert "[LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS….
Oct 1 2020, 11:29 AM
stefanp committed rG5f3e565f59ee: Revert "[LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS… (authored by stefanp).
Revert "[LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS…
Oct 1 2020, 11:29 AM
stefanp added a reverting change for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic: rG5f3e565f59ee: Revert "[LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS….
Oct 1 2020, 11:29 AM · Restricted Project
stefanp committed rG79122868f9a3: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General… (authored by stefanp).
[LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General…
Oct 1 2020, 11:01 AM
stefanp closed D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.
Oct 1 2020, 11:01 AM · Restricted Project
stefanp updated the diff for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Updated the comment.

Oct 1 2020, 4:18 AM · Restricted Project

Sep 30 2020

stefanp updated the diff for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Further reduced the test case.

Sep 30 2020, 11:05 AM · Restricted Project
stefanp updated the diff for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Removed the last function from the test assembly file.

Sep 30 2020, 9:35 AM · Restricted Project
stefanp accepted D88586: [zorg] [PowerPC] Limit number of threads to 64 on clang-ppc64le-rhel buildbot.

LGTM

Sep 30 2020, 9:14 AM · Restricted Project

Sep 29 2020

stefanp updated the diff for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Updated a number of formatting issues.
Updated the test case to remove instructions that are not needed.

Sep 29 2020, 8:05 AM · Restricted Project

Sep 25 2020

stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Rebased this patch on top of master and on top of the updated D87318.
This patch does depend on D87318.

Sep 25 2020, 11:58 AM · Restricted Project
stefanp added inline comments to D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.
Sep 25 2020, 9:14 AM · Restricted Project
stefanp updated the diff for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Addressed a number of nits.
Added an NFC change before this patch and rebased this patch.

Sep 25 2020, 9:13 AM · Restricted Project
stefanp committed rG8c53282d64b2: [PowerPC][NFC] Merged two switch entries. (authored by stefanp).
[PowerPC][NFC] Merged two switch entries.
Sep 25 2020, 7:49 AM
stefanp committed rGd224175230d1: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits (authored by stefanp).
[PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits
Sep 25 2020, 4:39 AM
stefanp closed D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.
Sep 25 2020, 4:39 AM · Restricted Project
stefanp updated the diff for D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.

Fixed last nits.

Sep 25 2020, 4:38 AM · Restricted Project

Sep 23 2020

stefanp updated the diff for D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.

Added const in two places.
Added split-file.

Sep 23 2020, 3:54 AM · Restricted Project

Sep 22 2020

stefanp updated the diff for D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.

Added PHDRS to try to avoid large binary files.

Sep 22 2020, 5:41 PM · Restricted Project
stefanp updated the diff for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Fixed spacing that I missed.

Sep 22 2020, 5:20 PM · Restricted Project
stefanp updated the diff for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

Rebased this patch to Top of Trunk.
Fixed all of the error to errorOrWarn.
Made use of NOP.

Sep 22 2020, 5:18 PM · Restricted Project
stefanp updated the diff for D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.

Fixed 24 to 26 bits as the 24 bits was not correct.
Added mayUseShortThunk handling.

Sep 22 2020, 11:55 AM · Restricted Project
stefanp added a comment to D87071: [Scheduling] Add a mutation to schedule GOT indirect instructions close to each other for linker optimization.

Overall I think that the patch looks good. I just had a couple of comments.
Thank you for finding the issues related to the peephole!

Sep 22 2020, 8:47 AM · Restricted Project
stefanp committed rG7e78d89052b1: [PowerPC] Fix for compiler side issue in PCRelative Local Exec (authored by stefanp).
[PowerPC] Fix for compiler side issue in PCRelative Local Exec
Sep 22 2020, 6:28 AM
stefanp closed D88030: [PowerPC] Fix for compiler side issue in PCRelative Local Exec.
Sep 22 2020, 6:28 AM · Restricted Project
stefanp committed rGc0071862bb42: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec (authored by stefanp).
[PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec
Sep 22 2020, 3:49 AM
stefanp closed D86893: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec.
Sep 22 2020, 3:49 AM · Restricted Project

Sep 21 2020

stefanp accepted D87721: [PowerPC][PCRelative] Thread Local Storage Support for Local Dynamic.

You can probably merge pcrel-tls-local-dynamic-address-load-reloc.s and pcrel-tls-local-dynamic-value-load-reloc.s.
They are short test cases and they are testing almost exactly the same thing.

Sep 21 2020, 2:09 PM · Restricted Project
stefanp updated the diff for D86893: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec.

Added the linker script to the test file.
Added a check for the GOT.

Sep 21 2020, 12:15 PM · Restricted Project
stefanp added reviewers for D88030: [PowerPC] Fix for compiler side issue in PCRelative Local Exec: NeHuang, sfertile, Restricted Project.
Sep 21 2020, 9:29 AM · Restricted Project
stefanp requested review of D88030: [PowerPC] Fix for compiler side issue in PCRelative Local Exec.
Sep 21 2020, 9:28 AM · Restricted Project
stefanp added inline comments to D86893: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec.
Sep 21 2020, 7:59 AM · Restricted Project
stefanp updated the diff for D86893: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec.

Updated error to errorOrWarn.
Merged the two test files.
Removed extra assembly from test case.

Sep 21 2020, 7:59 AM · Restricted Project

Sep 18 2020

stefanp added a comment to D86893: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec.

@MaskRay
FYI: All of the dependent patches have landed so you should now be able to just apply this patch on top of trunk.

Sep 18 2020, 12:11 PM · Restricted Project
stefanp updated the diff for D86893: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec.

Updated the patch to use the NOP constant.

Sep 18 2020, 12:08 PM · Restricted Project
stefanp added inline comments to D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.
Sep 18 2020, 10:52 AM · Restricted Project
stefanp added reviewers for D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits: sfertile, NeHuang, Restricted Project.
Sep 18 2020, 9:24 AM · Restricted Project
stefanp requested review of D87916: [PowerPC][LLD] Extend R2 save stub to support offsets of more than 26 bits.
Sep 18 2020, 9:23 AM · Restricted Project
stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Updated test case to check for .got.
Used warningOrErr.
Used NOP.

Sep 18 2020, 7:14 AM · Restricted Project

Sep 15 2020

stefanp committed rG65f6810d3a4b: [LLD][PowerPC] Add support for R_PPC64_TPREL34 used in TLS Local Exec (authored by stefanp).
[LLD][PowerPC] Add support for R_PPC64_TPREL34 used in TLS Local Exec
Sep 15 2020, 7:08 AM
stefanp closed D86608: [LLD][PowerPC] Add support for R_PPC64_TPREL34 used in TLS Local Exec.
Sep 15 2020, 7:07 AM · Restricted Project

Sep 14 2020

stefanp added inline comments to D87486: [ELF] Define a reportRangeError() overload for thunks and tidy up recent PPC64 thunk range errors.
Sep 14 2020, 8:59 AM · Restricted Project
stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Replace error() with errorOrWarn().

Sep 14 2020, 7:34 AM · Restricted Project
stefanp updated the diff for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.

Fixed formatting in source file.
Fixed spacing in test file.

Sep 14 2020, 7:28 AM · Restricted Project
stefanp added inline comments to D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.
Sep 14 2020, 6:12 AM · Restricted Project

Sep 11 2020

stefanp updated the diff for D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.

I've updated the description to only use the correct version of the relocation: R_PPC64_GOT_TLSGD_PCREL34.

Sep 11 2020, 2:36 PM · Restricted Project
stefanp updated the summary of D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.
Sep 11 2020, 2:00 PM · Restricted Project
stefanp added inline comments to D86893: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec.
Sep 11 2020, 12:06 PM · Restricted Project
stefanp updated the diff for D86893: [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec.

Fixed formatting and comments in a few places.
Added --soname to the test file.

Sep 11 2020, 12:05 PM · Restricted Project
stefanp updated the diff for D86608: [LLD][PowerPC] Add support for R_PPC64_TPREL34 used in TLS Local Exec.

Thank you for the reviews!

Sep 11 2020, 7:20 AM · Restricted Project
stefanp updated the summary of D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Sep 11 2020, 4:02 AM · Restricted Project
stefanp updated the summary of D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Sep 11 2020, 3:58 AM · Restricted Project
stefanp added reviewers for D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic: NeHuang, sfertile.
Sep 11 2020, 3:56 AM · Restricted Project
stefanp requested review of D87504: [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic.
Sep 11 2020, 3:55 AM · Restricted Project

Sep 8 2020

stefanp added a comment to D87330: [zorg] [PowerPC] Limit number of threads to 256 on ppc64le-sanitizer bot.

It seems that most builders do have the extra_configure_args parameter but the builder that we use here does not.
You may have to add the parameter to the build factory to get this to work.

Sep 8 2020, 3:31 PM · Restricted Project
stefanp accepted D83404: [PowerPC][PCRelative] Thread Local Storage Support for Local Exec.

This mostly LGTM.
From my perspective you can add no-show-raw-insn on commit.

Sep 8 2020, 12:08 PM · Restricted Project, Restricted Project
stefanp requested review of D87318: [LLD][PowerPC] Add support for R_PPC64_GOT_TLSGD_PCREL34 used in TLS General Dynamic.
Sep 8 2020, 11:50 AM · Restricted Project