This is an archive of the discontinued LLVM Phabricator instance.

[lld][ARM][3/3]Complete Arm BE32 big-endian support and add tests

Authored by simpal01 on Dec 16 2022, 3:24 AM.




  • Adding test cases for the big-endian arm configuration
  • Fixed the bug that the new tests have revealed

Diff Detail

Event Timeline

M-Plichta created this revision.Dec 16 2022, 3:24 AM
Herald added a project: Restricted Project. · View Herald Transcript
M-Plichta requested review of this revision.Dec 16 2022, 3:24 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 16 2022, 3:24 AM

The title implies that this is just adding tests. Can you update the title to include something like Complete Arm BE32 big-endian support and add tests; or move the SyntheticSections change back to Patch [2/3]

I'll be on holiday for the next 3 weeks. Happy for someone else to review in my absence.


I think this should be two write32s as the table is made up of two 32-bit values

PREL31 to functionCANT_UNWIND

Same here


The last line is showing the write64 problem with the CANTUNWIND entry. It should be 00000001

Tests are included in the same patch as the functional change, not as a separate commit. This may be a difference between llvm-project and GNU as I think lots of large patch series include tests as a separate commit.


No newline at end of file

Ensure a newline for all files.

M-Plichta updated this revision to Diff 483916.Dec 19 2022, 5:00 AM
M-Plichta retitled this revision from [lld][ARM][3/3]Big Endian support - Adding tests to [lld][ARM][3/3]Complete Arm BE32 big-endian support and add tests.

Thanks for the comments. Hopefully this resolves the problems. Although I'm unsure about the use of read32le in SyntheticSections.cpp

simpal01 commandeered this revision.Mar 14 2023, 2:08 AM
simpal01 added a reviewer: M-Plichta.
simpal01 added subscribers: Milosz-Plichta, simpal01.

I am taking over this change from @Milosz-Plichta to move the change forward.

simpal01 abandoned this revision.Mar 14 2023, 2:11 AM

This revision is now redundant as I have taken all these changes from here to the same patch ( where we are making all the functional changes.