Preliminary Rust support (#1781)

* Add support for R_ARM_THM_MOVW_ABS_NC/THM_MOVT_ABS

These are sometimes emitted by the Rust LLVM compiler.

Ref: https://github.com/ARM-software/abi-aa/blob/main/aaelf32/aaelf32.rst#56relocation

* Discard LLVM bitcode from extension applications

LLVM-based compilers may include uncompressed bitcode in object files
to help with link-time optimization. However this can bloat binary sizes
from KB to MB.

* Expose alligned_malloc/free functions to applications

This is required to implement a global allocator in Rust.
This commit is contained in:
David Coles
2022-09-25 14:06:46 -07:00
committed by GitHub
parent 2a2078d9b5
commit a6b98ccbbe
4 changed files with 47 additions and 2 deletions

View File

@@ -433,8 +433,8 @@ Function,-,acoshl,long double,long double
Function,-,acosl,long double,long double
Function,+,acquire_mutex,void*,"ValueMutex*, uint32_t"
Function,-,aligned_alloc,void*,"size_t, size_t"
Function,-,aligned_free,void,void*
Function,-,aligned_malloc,void*,"size_t, size_t"
Function,+,aligned_free,void,void*
Function,+,aligned_malloc,void*,"size_t, size_t"
Function,-,arc4random,__uint32_t,
Function,-,arc4random_buf,void,"void*, size_t"
Function,-,arc4random_uniform,__uint32_t,__uint32_t
1 entry status name type params
433 Function - acosl long double long double
434 Function + acquire_mutex void* ValueMutex*, uint32_t
435 Function - aligned_alloc void* size_t, size_t
436 Function - + aligned_free void void*
437 Function - + aligned_malloc void* size_t, size_t
438 Function - arc4random __uint32_t
439 Function - arc4random_buf void void*, size_t
440 Function - arc4random_uniform __uint32_t __uint32_t

View File

@@ -48,5 +48,7 @@ SECTIONS
{
*(.comment)
*(.comment.*)
*(.llvmbc)
*(.llvmcmd)
}
}