-
Notifications
You must be signed in to change notification settings - Fork 163
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
Introduce new relocation for landing pad #452
Open
kito-cheng
wants to merge
6
commits into
complex-label-lp
Choose a base branch
from
reloc-relax-cfi
base: complex-label-lp
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Commits on Oct 14, 2024
-
Introduce new relocation for landing pad
The R_RISCV_LPAD relocation can be used for PLT entry generation and also for linker relaxation. Additionally, we defined a new mapping symbol type to help users understand the function signature for the corresponding function. The addend value is the label value, and it will point to the mapping symbol placed at the beginning of the function. e.g. ```asm foo: # void foo(void) $sFvvE: lpad 123 # R_RISCV_LPAD $sFvvE + 123 ``` We propose two linker relaxations for the landing pad. The first is removing the entire landing pad, which can be used when symbols have local visibility, and the address is not taken by any other reference. The second is a landing pad scheme conversion, designed for backward compatibility (or as a workaround) for legacy programs that may use functions without declarations.
Configuration menu - View commit details
-
Copy full SHA for db7c38a - Browse repository at this point
Copy the full SHA db7c38aView commit details
Commits on Oct 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0726ba1 - Browse repository at this point
Copy the full SHA 0726ba1View commit details -
Revise 'Landing Pad Relaxation'
Rephase to make it clearly about it can remove instruction.
Configuration menu - View commit details
-
Copy full SHA for 1e21e42 - Browse repository at this point
Copy the full SHA 1e21e42View commit details -
Revise 'Landing Pad Scheme Relaxation'
- Drop the restriction of static link - Emphasis must be applied to all `R_RISCV_LPAD` - GNU property and PLT entries must adjust too.
Configuration menu - View commit details
-
Copy full SHA for 5d43b57 - Browse repository at this point
Copy the full SHA 5d43b57View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32688be - Browse repository at this point
Copy the full SHA 32688beView commit details -
Relaxation condition updated based on symbol export to dynamic symbol…
… table - Updated the relaxation condition to apply only when the symbol is not exported to the dynamic symbol table.
Configuration menu - View commit details
-
Copy full SHA for 02546de - Browse repository at this point
Copy the full SHA 02546deView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.