diff options
author | Kenny Root <kroot@google.com> | 2012-03-02 16:05:57 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-03-02 16:05:57 -0800 |
commit | 1fe109ecf3b1acd10d55091f3e0eed7efeca98f1 (patch) | |
tree | a9f19447aa5be60be335d46ac136e14e59db2495 /libc | |
parent | 079989259f257a29bb0734ed968d80a1e35c494f (diff) | |
parent | 93cb30813764b140f0adbaa620dcdbb1cae56dd8 (diff) | |
download | android_bionic-1fe109ecf3b1acd10d55091f3e0eed7efeca98f1.tar.gz android_bionic-1fe109ecf3b1acd10d55091f3e0eed7efeca98f1.tar.bz2 android_bionic-1fe109ecf3b1acd10d55091f3e0eed7efeca98f1.zip |
Merge "Reference __dso_handle in PIC way"
Diffstat (limited to 'libc')
-rw-r--r-- | libc/arch-arm/bionic/crtbegin_so.S | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/libc/arch-arm/bionic/crtbegin_so.S b/libc/arch-arm/bionic/crtbegin_so.S index 9275b1e01..8123254ea 100644 --- a/libc/arch-arm/bionic/crtbegin_so.S +++ b/libc/arch-arm/bionic/crtbegin_so.S @@ -34,17 +34,18 @@ # standard. # __on_dlclose: - adr r0, 0f + ldr r0, .L1 +.LPIC0: + add r0, pc ldr r0, [r0] b __cxa_finalize +.L1: + .word __dso_handle-(.LPIC0+4) -0: - .long __dso_handle - - .section .init_array, "aw" - .globl __INIT_ARRAY__ + .section .init_array, "aw" + .globl __INIT_ARRAY__ __INIT_ARRAY__: - .long -1 + .long -1 .section .fini_array, "aw" .globl __FINI_ARRAY__ |