[PATCH] [ELF]: Initial implementation for ARM static linking

Will Newton will.newton at linaro.org
Tue Dec 2 05:49:34 PST 2014


On 2 December 2014 at 13:34, Denis Protivensky
<dprotivensky at accesssoftek.com> wrote:
> Updated:
> - removed unused code related to PLT processing
> - removed all handlers of dynamic linking (now dynamic linking attempt fails)
> - updated test to link statically
> - corrected debug output formatting & assert
> - corrected TODO list items
>
> Still in question:
> - image's default base address

I recently changed GNU ld to use 0x10000 for the default base address.
This provides sufficient alignment for 64kB pages which makes the
experience for running ARM binaries on AArch64 Linux systems better
when the first page is unmapped. From that point of view I would
recommend using 0x10000 (although the current value is more aligned
than that, it merely wastes a little virtual address space)

> - __exidx_start/__exidx_end handling
>
> http://reviews.llvm.org/D6446
>
> Files:
>   docs/open_projects.rst
>   lib/Driver/GnuLdDriver.cpp
>   lib/ReaderWriter/ELF/ARM/ARMELFFile.h
>   lib/ReaderWriter/ELF/ARM/ARMELFReader.h
>   lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h
>   lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp
>   lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h
>   lib/ReaderWriter/ELF/ARM/ARMRelocationHandler.cpp
>   lib/ReaderWriter/ELF/ARM/ARMRelocationHandler.h
>   lib/ReaderWriter/ELF/ARM/ARMRelocationPass.cpp
>   lib/ReaderWriter/ELF/ARM/ARMRelocationPass.h
>   lib/ReaderWriter/ELF/ARM/ARMTarget.h
>   lib/ReaderWriter/ELF/ARM/ARMTargetHandler.cpp
>   lib/ReaderWriter/ELF/ARM/ARMTargetHandler.h
>   lib/ReaderWriter/ELF/ARM/CMakeLists.txt
>   lib/ReaderWriter/ELF/ARM/Makefile
>   lib/ReaderWriter/ELF/ARM/TODO.rst
>   lib/ReaderWriter/ELF/Atoms.h
>   lib/ReaderWriter/ELF/CMakeLists.txt
>   lib/ReaderWriter/ELF/ELFLinkingContext.cpp
>   lib/ReaderWriter/ELF/Targets.h
>   test/elf/ARM/defsym.test



-- 
Will Newton
Toolchain Working Group, Linaro



More information about the llvm-commits mailing list