Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ld.lld: translate TARGET2 reloc to relative address relocation #1898

Merged
merged 1 commit into from May 31, 2022

Conversation

occheung
Copy link
Contributor

@occheung occheung commented May 30, 2022

ARTIQ Pull Request

Description of Changes

This PR changes the interpretation of R_ARM_TARGET2 relocation from PC-relative offset from a GOT entry, to a simple RC-relative offset.

It bypasses the generation of GOT entries for exception type for ARM target. Adjustment to the exception table parser is in the corresponding patch to artiq-zynq.

Related PR

artiq-zynq PR 192

Test

Applied the corresponding patch in artiq-zynq. Passed tests artiq.test regarding exceptions (e.g. test_nested_exceptions).

Type of Changes

Type
🔨 Refactoring

Steps (Choose relevant, delete irrelevant before submitting)

All Pull Requests

  • Use correct spelling and grammar.

Code Changes

Git Logistics

  • Write short & meaningful commit messages. Review each commit for messages (git show). Format:
    topic: description. < 50 characters total.
    
    Longer description. < 70 characters per line
    

Licensing

See copyright & licensing for more info.
ARTIQ files that do not contain a license header are copyrighted by M-Labs Limited and are licensed under LGPLv3+.

@sbourdeauducq
Copy link
Member

Thanks!

The coding style is a bit unusual with the ancestor class referencing a derived class. I suggest introducing another parameter similar to the existing ones (triple, data_layout, tool_ld, ...) which declares additional linker command-line options instead.

@sbourdeauducq sbourdeauducq merged commit 6d46c88 into m-labs:master May 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants