| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I26a47a29e4d16e75e21e9295504079a815c334c6
|
|
|
|
|
|
|
| |
For 64-bit address space, it should be 8-bytes aligned.
'ALIGNMENT' will be expanded to '64 / 8' for 64-bit and '32 / 8' for 32-bit.
Change-Id: I7bbbf04a9b4e68a342201ec7c04f67497e3fa3a1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous commit f25603579c0a04b3d5099259cf54c5b3c8775b78
isn't complete because .ctors/.dtors in crtbegin*/crtend*
aren't excluded from .init_array/.fini_array. Static
executable (eg. $NDK/tests/device/static-executable) causes
"Bus Error" because call_array() in __libc_init() call ffffffff
from __INIT_ARRAY__ not properly terminaed by NULL.
Disassembly of section .init_array:
000b42ac <__INIT_ARRAY__>:
b42ac: ff ff ff ff
000b42b0 <__CTOR_LIST__>:
b42b0: ff ff ff ff dc 09 08 00 f8 09 08 00 00 00 00 00
000b42c0 <__CTOR_END__>:
b42c0: 00 00 00 00
Note that Android uses .init/.fini_array (move away from .ctors/.dtors),
but we can't simply remove _CTOR* from crtbegin_static/dynamic.o
because older device (eg. ICS) call_array() on CTOR_LIST
The correct fix is to exclude them
Thanks to icebergfu@gmail.com for identifying the issues.
Change-Id: I7a955753baa00fd486cc5a37362ab91c3a21d1e1
|
|
|
|
|
|
| |
See 4c195079b72a16cb62cb9a6e8010b3dc0202795b
Change-Id: I64dab07994f832898584d34095c3d3ab015c2fe9
|
|
|
|
|
|
|
| |
See dca628154da7b641772aad6e6e63325a642b9472 and
9adb6697703c230d1bded964b2fd2dceb80db2f3
Change-Id: Ia55791b46bbd1a509b12f2e1e37cdc5d7ec27754
|
|
Change-Id: I0dfcbae6608dded6c3586bf5f4ac27e9612e70a2
|