-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
aarch64: Multiple adjustments to support the SMALL code model correct…
…ly (#23) LOCAL_LABEL_PREFIX has been changed to help the assembly compiler recognize local labels. The anchors have been disabled as they use symbol + offset, which is not applicable for COFF AArch64. Emitting locals has been replaced to use the .lcomm directive to declare uninitialized data without defining an exact section. aarch64.cc has been adjusted to prevent emitting symbol + offset for SYMBOL_SMALL_ABSOLUTE. Instead, it will emit an offset with the "add" instruction to correct the address. The added code is a duplicate of the code from SYMBOL_SMALL_GOT_4G handling and will be refactored during the patch series preparation for the mailing list. Functions and objects have been missing declarations. Binutils was not able to distinguish static from external, an object from a function. PE_COFF_LEGITIMIZE_EXTERN_DECL has been disabled, as it is needed for MEDIUM and LARGE models with -fPIC. These models are not yet implemented for AArch64. This fix relies on changes in binutils. aarch64: Fix IMAGE_REL_ARM64_PAGEBASE_REL21 relocation and symbol reduction for relocations This change resolves the following issues: Relocation overflow when a struct is large Relocation overflow issue when building FFmpeg with -O3
- Loading branch information
Showing
3 changed files
with
37 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters