Skip to content

Instantly share code, notes, and snippets.

@tavianator
Created November 1, 2016 16:51
Show Gist options
  • Save tavianator/fb34581482ac07292c7918b67b29c4ca to your computer and use it in GitHub Desktop.
Save tavianator/fb34581482ac07292c7918b67b29c4ca to your computer and use it in GitHub Desktop.
NDK bug 176 reproducer
Apologies for the gcc-based test case! But clang chokes on linking the same .s file, so I suspect it's not a gcc-specific bug.
$ arm-linux-androideabi-g++ -std=c++11 -fpic -O3 -flto -Ipath/to/boost -c foo.cpp
$ arm-linux-androideabi-g++ -shared foo.o -lc++_shared -o foo.so -save-temps
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a(pr-support.o): multiple definition of '__gnu_unwind_frame'
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/lib/libunwind.a(Unwind-EHABI.o): previous definition here
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a(pr-support.o): multiple definition of '_Unwind_GetRegionStart'
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/lib/libunwind.a(Unwind-EHABI.o): previous definition here
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a(pr-support.o): multiple definition of '_Unwind_GetLanguageSpecificData'
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/lib/libunwind.a(Unwind-EHABI.o): previous definition here
collect2: error: ld returned 1 exit status
$ arm-linux-androideabi-clang++ -shared foo.so.ltrans0.s -lc++_shared -o foo.so/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a(pr-support.o): multiple definition of '__gnu_unwind_frame'
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/lib/../lib/libunwind.a(Unwind-EHABI.o): previous definition here
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a(pr-support.o): multiple definition of '_Unwind_GetRegionStart'
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/lib/../lib/libunwind.a(Unwind-EHABI.o): previous definition here
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a(pr-support.o): multiple definition of '_Unwind_GetLanguageSpecificData'
/tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: /tmp/ndk-arm/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/lib/../lib/libunwind.a(Unwind-EHABI.o): previous definition here
clang38++: error: linker command failed with exit code 1 (use -v to see invocation)
#define NDEBUG
#include <boost/unordered_map.hpp>
boost::unordered_map<int, const char*> foo{
{0, ""},
};
.arch armv5te
.fpu softvfp
.eabi_attribute 20, 1
.eabi_attribute 21, 1
.eabi_attribute 23, 3
.eabi_attribute 24, 1
.eabi_attribute 25, 1
.eabi_attribute 26, 2
.eabi_attribute 30, 2
.eabi_attribute 34, 0
.file "foo.so.ltrans0.o"
.global __aeabi_ui2d
.global __aeabi_f2d
.global __aeabi_ddiv
.global __aeabi_dadd
.global __aeabi_dcmpge
.global __aeabi_d2uiz
.text
.align 2
.type _ZNK5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE20min_buckets_for_sizeEj.isra.25, %function
_ZNK5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE20min_buckets_for_sizeEj.isra.25:
.fnstart
.LFB8:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, lr}
mov r6, r0
mov r0, r1
bl __aeabi_ui2d(PLT)
mov r4, r0
mov r0, r6
mov r5, r1
bl __aeabi_f2d(PLT)
mov r2, r0
mov r3, r1
mov r0, r4
mov r1, r5
bl __aeabi_ddiv(PLT)
bl floor(PLT)
mov r2, #0
ldr r3, .L20
bl __aeabi_dadd(PLT)
ldr r2, .L20+4
ldr r3, .L20+8
mov r4, r0
mov r5, r1
bl __aeabi_dcmpge(PLT)
cmp r0, #0
mvnne r0, #0
bne .L2
mov r0, r4
mov r1, r5
bl __aeabi_d2uiz(PLT)
.L2:
ldr r4, .L20+12
mov r3, #38
.LPIC1:
ldr r4, [pc, r4] @ tls_load_dot_plus_eight
mov ip, r4
b .L3
.L4:
mvn r1, r1
adds r3, r3, r1
add ip, lr, #4
beq .L7
.L3:
add r2, r3, r3, lsr #31
mov r2, r2, asr #1
.L17:
ldr lr, [ip, r2, asl #2]
mov r1, r2
cmp r0, lr
add lr, ip, r2, asl #2
bhi .L4
mov r3, r2
cmp r3, #0
add r2, r2, r2, lsr #31
mov r2, r2, asr #1
bne .L17
.L7:
add r3, r4, #152
cmp ip, r3
addeq ip, r4, #148
ldr r0, [ip]
ldmfd sp!, {r4, r5, r6, pc}
.L21:
.align 2
.L20:
.word 1072693248
.word -2097152
.word 1106247679
.word _ZN5boost9unordered6detail19prime_list_templateIjE5valueE(GOT_PREL)+(.-(.LPIC1+8))
.cantunwind
.fnend
.size _ZNK5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE20min_buckets_for_sizeEj.isra.25, .-_ZNK5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE20min_buckets_for_sizeEj.isra.25
.align 2
.type _ZN5boost9unordered13unordered_mapIiPKcNS_4hashIiEENSt6__ndk18equal_toIiEENS6_9allocatorINS6_4pairIKiS3_EEEEED2Ev, %function
_ZN5boost9unordered13unordered_mapIiPKcNS_4hashIiEENSt6__ndk18equal_toIiEENS6_9allocatorINS6_4pairIKiS3_EEEEED2Ev:
.fnstart
.LFB10:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r3, r4, r5, lr}
ldr r3, [r0, #20]
mov r4, r0
cmp r3, #0
beq .L23
ldr r2, [r0, #8]
cmp r2, #0
beq .L24
ldr r5, [r0, #4]
ldr r0, [r3, r5, asl #2]
add r5, r3, r5, asl #2
.L25:
ldr r3, [r0]
str r3, [r5]
bl _ZdlPv(PLT)
ldr r3, [r4, #8]
ldr r0, [r5]
sub r3, r3, #1
cmp r0, #0
str r3, [r4, #8]
bne .L25
ldr r3, [r4, #20]
.L24:
mov r0, r3
bl _ZdlPv(PLT)
.L23:
mov r0, r4
ldmfd sp!, {r3, r4, r5, pc}
.cantunwind
.fnend
.size _ZN5boost9unordered13unordered_mapIiPKcNS_4hashIiEENSt6__ndk18equal_toIiEENS6_9allocatorINS6_4pairIKiS3_EEEEED2Ev, .-_ZN5boost9unordered13unordered_mapIiPKcNS_4hashIiEENSt6__ndk18equal_toIiEENS6_9allocatorINS6_4pairIKiS3_EEEEED2Ev
_ZN5boost9unordered13unordered_mapIiPKcNS_4hashIiEENSt6__ndk18equal_toIiEENS6_9allocatorINS6_4pairIKiS3_EEEEED1Ev = _ZN5boost9unordered13unordered_mapIiPKcNS_4hashIiEENSt6__ndk18equal_toIiEENS6_9allocatorINS6_4pairIKiS3_EEEEED2Ev
.global __aeabi_dmul
.align 2
.type _ZN5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE14create_bucketsEj, %function
_ZN5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE14create_bucketsEj:
.fnstart
.LFB12:
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, r7, r8, r9, lr}
.save {r4, r5, r6, r7, r8, r9, lr}
add r4, r1, #1
cmn r4, #-1073741823
.pad #12
sub sp, sp, #12
mov r7, r1
bhi .L51
mov r4, r4, asl #2
mov r5, r0
mov r0, r4
.LEHB0:
bl _Znwj(PLT)
add r2, r0, r4
cmp r2, r0
mov r6, r0
movne r3, r0
movne r1, #0
beq .L42
.L41:
cmp r3, #0
strne r1, [r3]
add r3, r3, #4
cmp r2, r3
bne .L41
.L42:
ldr r3, [r5, #20]
cmp r3, #0
beq .L38
ldr r1, [r5, #4]
ldr r3, [r3, r1, asl #2]
str r3, [r2, #-4]
ldr r0, [r5, #20]
bl _ZdlPv(PLT)
.L38:
str r7, [r5, #4]
str r6, [r5, #20]
ldr r0, [r5, #12] @ float
bl __aeabi_f2d(PLT)
mov r8, r0
mov r0, r7
mov r9, r1
bl __aeabi_ui2d(PLT)
mov r2, r0
mov r3, r1
mov r0, r8
mov r1, r9
bl __aeabi_dmul(PLT)
bl ceil(PLT)
ldr r2, .L52
ldr r3, .L52+4
mov r6, r0
mov r7, r1
bl __aeabi_dcmpge(PLT)
cmp r0, #0
mvnne r0, #0
bne .L43
mov r0, r6
mov r1, r7
bl __aeabi_d2uiz(PLT)
.L43:
str r0, [r5, #16]
add sp, sp, #12
@ sp needed
ldmfd sp!, {r4, r5, r6, r7, r8, r9, pc}
.L51:
ldr r1, .L52+8
mov r0, sp
.LPIC10:
add r1, pc, r1
bl _ZNSt11logic_errorC2EPKc(PLT)
.LEHE0:
ldr r3, .L52+12
mov r0, #8
.LPIC14:
ldr r3, [pc, r3] @ tls_load_dot_plus_eight
mov r5, sp
add r4, r3, r0
str r4, [sp]
bl __cxa_allocate_exception(PLT)
mov r1, sp
mov r6, r0
bl _ZNSt11logic_errorC2ERKS_(PLT)
ldr r1, .L52+16
ldr r2, .L52+20
mov r0, r6
.LPIC13:
ldr r1, [pc, r1] @ tls_load_dot_plus_eight
.LPIC12:
ldr r2, [pc, r2] @ tls_load_dot_plus_eight
str r4, [r6]
.LEHB1:
bl __cxa_throw(PLT)
.LEHE1:
.L45:
mov r4, r0
mov r0, r5
bl _ZNSt12length_errorD1Ev(PLT)
mov r0, r4
.LEHB2:
bl _Unwind_Resume(PLT)
.LEHE2:
.L53:
.align 2
.L52:
.word -2097152
.word 1106247679
.word .LC0-(.LPIC10+8)
.word _ZTVSt12length_error(GOT_PREL)+(.-(.LPIC14+8))
.word _ZTISt12length_error(GOT_PREL)+(.-(.LPIC13+8))
.word _ZNSt12length_errorD1Ev(GOT_PREL)+(.-(.LPIC12+8))
.global __gcc_personality_v0
.personality __gcc_personality_v0
.handlerdata
.LLSDA12:
.byte 0xff
.byte 0xff
.byte 0x1
.uleb128 .LLSDACSE12-.LLSDACSB12
.LLSDACSB12:
.uleb128 .LEHB0-.LFB12
.uleb128 .LEHE0-.LEHB0
.uleb128 0
.uleb128 0
.uleb128 .LEHB1-.LFB12
.uleb128 .LEHE1-.LEHB1
.uleb128 .L45-.LFB12
.uleb128 0
.uleb128 .LEHB2-.LFB12
.uleb128 .LEHE2-.LEHB2
.uleb128 0
.uleb128 0
.LLSDACSE12:
.text
.fnend
.size _ZN5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE14create_bucketsEj, .-_ZN5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE14create_bucketsEj
.global __aeabi_uidivmod
.section .text.startup,"ax",%progbits
.align 2
.type _GLOBAL__sub_I_foo.cpp, %function
_GLOBAL__sub_I_foo.cpp:
.fnstart
.LFB17:
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 0, uses_anonymous_args = 0
stmfd sp!, {r4, r5, r6, r7, r8, r9, lr}
.save {r4, r5, r6, r7, r8, r9, lr}
ldr r5, .L115
ldr r4, .L115+4
ldr r3, .L115+8
.LPIC27:
ldr r5, [pc, r5] @ tls_load_dot_plus_eight
.pad #12
sub sp, sp, #12
.LPIC24:
add r3, pc, r3
.LPIC28:
ldr r4, [pc, r4] @ tls_load_dot_plus_eight
mov r2, #0
str r3, [sp, #4]
mov r0, r5
mov r3, #38
strb r2, [r4]
str r2, [sp]
.L55:
add r2, r3, r3, lsr #31
mov r2, r2, asr #1
ldr ip, [r0, r2, asl #2]
mov r1, r2
cmp ip, #10
add ip, r0, r2, asl #2
bhi .L110
mvn r1, r1
adds r3, r3, r1
add r0, ip, #4
bne .L55
.L59:
add r3, r5, #152
cmp r0, r3
beq .L111
.L61:
ldr r1, [r0]
mov r3, #0
mov r2, #1065353216
stmib r4, {r1, r3}
str r3, [r4, #16]
str r3, [r4, #20]
str r2, [r4, #12] @ float
mov r0, #16
.LEHB3:
bl _Znwj(PLT)
.LEHE3:
mov r3, #0
mov r2, r0
mov r6, r0
str r3, [r0]
str r3, [r0, #4]
add r1, r6, #15
mov r0, r3
strb r3, [r2, #8]!
mov r3, r2
.L63:
strb r0, [r3, #1]!
cmp r3, r1
bne .L63
add r3, sp, #8
ldmdb r3, {r0, r1}
stmia r2, {r0, r1}
ldr r0, [r4, #8]
ldr r3, [r4, #16]
add r1, r0, #1
cmp r1, r3
bls .L69
ldr r3, [r4, #20]
cmp r3, #0
beq .L112
add r0, r0, r0, lsr #1
cmp r0, r1
movcc r0, r1
bl __aeabi_ui2d(PLT)
mov r8, r0
ldr r0, [r4, #12] @ float
mov r9, r1
bl __aeabi_f2d(PLT)
mov r2, r0
mov r3, r1
mov r0, r8
mov r1, r9
bl __aeabi_ddiv(PLT)
bl floor(PLT)
mov r2, #0
ldr r3, .L115+12
bl __aeabi_dadd(PLT)
ldr r2, .L115+16
ldr r3, .L115+20
mov r8, r0
mov r9, r1
bl __aeabi_dcmpge(PLT)
cmp r0, #0
mvnne r0, #0
beq .L113
.L70:
mov r1, #38
mov r3, r5
b .L72
.L73:
add r2, r1, r1, lsr #31
mov r2, r2, asr #1
ldr lr, [r3, r2, asl #2]
add ip, r3, r2, asl #2
cmp r0, lr
mvnhi r2, r2
addhi r1, r1, r2
addhi r3, ip, #4
movls r1, r2
.L72:
cmp r1, #0
bne .L73
add r2, r5, #152
cmp r3, r2
addeq r3, r5, #148
ldr r1, [r3]
ldr r3, [r4, #4]
cmp r3, r1
beq .L69
mov r0, r4
.LEHB4:
bl _ZN5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE14create_bucketsEj(PLT)
.LEHE4:
ldr r8, [r4, #4]
ldr r5, [r4, #20]
add r5, r5, r8, asl #2
b .L75
.L78:
ldr r0, [r7, #4]
mov r1, r8
bl __aeabi_uidivmod(PLT)
ldr r3, [r4, #20]
ldr r2, [r3, r1, asl #2]
cmp r2, #0
ldrne r2, [r7]
strne r2, [r5]
ldrne r2, [r3, r1, asl #2]
streq r5, [r3, r1, asl #2]
ldrne r2, [r2]
strne r2, [r7]
ldrne r3, [r3, r1, asl #2]
moveq r5, r7
strne r7, [r3]
.L75:
ldr r7, [r5]
cmp r7, #0
bne .L78
.L69:
ldr r5, [r4, #20]
mov r2, #0
ldr r3, [r5]
str r2, [r6, #4]
cmp r3, r2
ldr r7, [r4, #4]
beq .L114
ldr r3, [r3]
str r3, [r6]
ldr r3, [r5]
str r6, [r3]
.L80:
ldr r3, [r4, #8]
ldr r1, .L115+24
ldr r2, .L115+28
add r3, r3, #1
mov r0, r4
.LPIC25:
add r1, pc, r1
.LPIC26:
add r2, pc, r2
str r3, [r4, #8]
add sp, sp, #12
@ sp needed
ldmfd sp!, {r4, r5, r6, r7, r8, r9, lr}
b __aeabi_atexit(PLT)
.L110:
cmp r2, #0
mov r3, r2
bne .L55
b .L59
.L111:
add r0, r5, #148
b .L61
.L113:
mov r0, r8
mov r1, r9
bl __aeabi_d2uiz(PLT)
b .L70
.L114:
ldr r3, [r5, r7, asl #2]
add r8, r5, r7, asl #2
cmp r3, #0
beq .L79
ldr r0, [r3, #4]
mov r1, r7
bl __aeabi_uidivmod(PLT)
str r6, [r5, r1, asl #2]
.L79:
str r8, [r5]
ldr r3, [r5, r7, asl #2]
str r3, [r6]
str r6, [r5, r7, asl #2]
b .L80
.L92:
mov r5, r0
mov r0, r6
bl _ZdlPv(PLT)
.L82:
ldr r3, [r4, #20]
cmp r3, #0
beq .L83
ldr r2, [r4, #8]
cmp r2, #0
bne .L84
.L86:
ldr r0, [r4, #20]
bl _ZdlPv(PLT)
.L83:
mov r0, r5
.LEHB5:
bl _Unwind_Resume(PLT)
.LEHE5:
.L84:
ldr r6, [r4, #4]
add r6, r3, r6, asl #2
ldr r0, [r6]
.L85:
ldr r3, [r0]
str r3, [r6]
bl _ZdlPv(PLT)
ldr r3, [r4, #8]
ldr r0, [r6]
sub r3, r3, #1
cmp r0, #0
str r3, [r4, #8]
bne .L85
b .L86
.L112:
ldr r0, [r4, #12] @ float
bl _ZNK5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE20min_buckets_for_sizeEj.isra.25(PLT)
ldr r3, [r4, #4]
cmp r0, r3
movcs r1, r0
movcc r1, r3
mov r0, r4
.LEHB6:
bl _ZN5boost9unordered6detail5tableINS1_3mapINSt6__ndk19allocatorINS4_4pairIKiPKcEEEEiS9_NS_4hashIiEENS4_8equal_toIiEEEEE14create_bucketsEj(PLT)
.LEHE6:
b .L69
.L91:
mov r5, r0
b .L82
.L116:
.align 2
.L115:
.word _ZN5boost9unordered6detail19prime_list_templateIjE5valueE(GOT_PREL)+(.-(.LPIC27+8))
.word foo(GOT_PREL)+(.-(.LPIC28+8))
.word .LC1-(.LPIC24+8)
.word 1072693248
.word -2097152
.word 1106247679
.word _ZN5boost9unordered13unordered_mapIiPKcNS_4hashIiEENSt6__ndk18equal_toIiEENS6_9allocatorINS6_4pairIKiS3_EEEEED1Ev-(.LPIC25+8)
.word __dso_handle-(.LPIC26+8)
.personality __gcc_personality_v0
.handlerdata
.LLSDA17:
.byte 0xff
.byte 0xff
.byte 0x1
.uleb128 .LLSDACSE17-.LLSDACSB17
.LLSDACSB17:
.uleb128 .LEHB3-.LFB17
.uleb128 .LEHE3-.LEHB3
.uleb128 .L91-.LFB17
.uleb128 0
.uleb128 .LEHB4-.LFB17
.uleb128 .LEHE4-.LEHB4
.uleb128 .L92-.LFB17
.uleb128 0
.uleb128 .LEHB5-.LFB17
.uleb128 .LEHE5-.LEHB5
.uleb128 0
.uleb128 0
.uleb128 .LEHB6-.LFB17
.uleb128 .LEHE6-.LEHB6
.uleb128 .L92-.LFB17
.uleb128 0
.LLSDACSE17:
.section .text.startup
.fnend
.size _GLOBAL__sub_I_foo.cpp, .-_GLOBAL__sub_I_foo.cpp
.section .init_array,"aw"
.align 2
.word _GLOBAL__sub_I_foo.cpp
.global foo
.weak _ZN5boost9unordered6detail19prime_list_templateIjE5valueE
.section .rodata._ZN5boost9unordered6detail19prime_list_templateIjE5valueE,"aG",%progbits,_ZN5boost9unordered6detail19prime_list_templateIjE5valueE,comdat
.align 2
.type _ZN5boost9unordered6detail19prime_list_templateIjE5valueE, %object
.size _ZN5boost9unordered6detail19prime_list_templateIjE5valueE, 152
_ZN5boost9unordered6detail19prime_list_templateIjE5valueE:
.word 17
.word 29
.word 37
.word 53
.word 67
.word 79
.word 97
.word 131
.word 193
.word 257
.word 389
.word 521
.word 769
.word 1031
.word 1543
.word 2053
.word 3079
.word 6151
.word 12289
.word 24593
.word 49157
.word 98317
.word 196613
.word 393241
.word 786433
.word 1572869
.word 3145739
.word 6291469
.word 12582917
.word 25165843
.word 50331653
.word 100663319
.word 201326611
.word 402653189
.word 805306457
.word 1610612741
.word -1073741823
.word -5
.section .rodata.str1.4,"aMS",%progbits,1
.align 2
.LC0:
.ascii "allocator<T>::allocate(size_t n) 'n' exceeds maximu"
.ascii "m supported size\000"
.LC1:
.ascii "\000"
.bss
.align 2
.type foo, %object
.size foo, 24
foo:
.space 24
.hidden __dso_handle
.ident "GCC: (GNU) 4.9.x 20150123 (prerelease)"
.section .note.GNU-stack,"",%progbits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment