Page MenuHomePhabricator

[llvm-objdump/llvm-readobj/obj2yaml/yaml2obj] Support DT_PPC_GOT and DT_PPC_OPT
ClosedPublic

Authored by MaskRay on Jun 4 2019, 4:21 AM.

Details

Summary

In glibc, DT_PPC_GOT indicates that PowerPC32 Secure PLT ABI is used.
I plan to use it in D62464.

DT_PPC_OPT currently indicates if a TLSDESC inspired TLS optimization is
enabled.

Diff Detail

Repository
rL LLVM

Event Timeline

MaskRay created this revision.Jun 4 2019, 4:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 4 2019, 4:21 AM
grimar added a comment.Jun 4 2019, 4:44 AM

Seems you need to rebase after D62596.

jhenderson added inline comments.Jun 4 2019, 4:50 AM
test/tools/llvm-readobj/Inputs/elf-dynamic-tags-machine-specific.yaml
185–187 ↗(On Diff #202904)

Should you add these two tags to the 64-bit PPC rather than create another document? It seems odd having the two different variations.

MaskRay updated this revision to Diff 202916.Jun 4 2019, 5:52 AM
MaskRay marked an inline comment as done.
MaskRay retitled this revision from [llvm-readobj] --dynamic-table: dump DT_PPC_GOT and DT_PPC_OPT to [llvm-objdump/llvm-readobj/obj2yaml/yaml2obj] Support DT_PPC_GOT and DT_PPC_OPT.
MaskRay edited the summary of this revision. (Show Details)

Update all 4 tools at the same time.

MaskRay marked an inline comment as done.Jun 4 2019, 5:54 AM
MaskRay added inline comments.
test/tools/llvm-readobj/Inputs/elf-dynamic-tags-machine-specific.yaml
185–187 ↗(On Diff #202904)

I have to add a new document. ppc32 and ppc64 have different e_machine values. The two tags are not available on ppc64. Actually, there is a conflict:DT_PPC64_GLINK == DT_PPC_GOT.

MaskRay updated this revision to Diff 202918.Jun 4 2019, 6:04 AM
MaskRay edited the summary of this revision. (Show Details)

Rebase after D62596

jhenderson added inline comments.Jun 4 2019, 6:19 AM
test/tools/llvm-objdump/elf-dynamic-section-machine-specific.test
69 ↗(On Diff #202916)

If you're adding the extra '#' here, please also add it to the other cases in this file.

78 ↗(On Diff #202916)

Delete this line (or at least the '#')

test/tools/llvm-readobj/elf-dynamic-tags-machine-specific.test
135 ↗(On Diff #202916)

PPC32 -> PPC?

MaskRay updated this revision to Diff 202921.Jun 4 2019, 6:24 AM
MaskRay marked 3 inline comments as done.

Address review comments and fix a rebase issue

grimar accepted this revision.Jun 4 2019, 7:29 AM

LGTM

This revision is now accepted and ready to land.Jun 4 2019, 7:29 AM
rupprecht accepted this revision.Jun 4 2019, 4:46 PM
This revision was automatically updated to reflect the committed changes.