This is an archive of the discontinued LLVM Phabricator instance.

Write AArch64 big endian data fixup entries as BE.
ClosedPublic

Authored by keith.walker.arm on Jan 11 2016, 7:15 AM.

Details

Summary

There was support for writing the AArch64 big endian data fixup entries in
the .eh_frame section in BE. This is changed to write all such fixup
entries in BE with no restriction on the section. This is similar to
the existing support for fixup entries for ARM.

A test is added to check the length field in the .debug_line section as
this is an example of where such a fixup occurs.

Diff Detail

Repository
rL LLVM

Event Timeline

keith.walker.arm retitled this revision from to Write AArch64 big endian data fixup entries as BE..
keith.walker.arm updated this object.

Hi Keith,

I've got some style comments, but apart from that I think this looks sensible.

James

lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
35 ↗(On Diff #44497)

This line is too long.

86 ↗(On Diff #44497)

I'd prefer "getFixupKindContainerSizeInBytes", as the "InBytes" suffix is similar to what we have elsewhere in LLVM and it's clearer.

Fixed line length issue.
Renamed getFixupKindContainereSizeBytes() to getFixupKindContainereSizeInBytes()

This fixes PR23020?

This fixes PR23020?

Unfortunately not. This issue fixes processing fixups in sections other than .eh_frame (such as the .debug_line section). PR23020 is about actually creating required fixup entries in .eh_frame.

jmolloy accepted this revision.Jan 19 2016, 6:28 AM
jmolloy added a reviewer: jmolloy.
This revision is now accepted and ready to land.Jan 19 2016, 6:28 AM
This revision was automatically updated to reflect the committed changes.