f64a6eeaf0
Most importantly, this version of delocate works for ppc64le. It should also work for x86-64, but will need significant testing to make sure that it covers all the cases that the previous delocate.go covered. It's less stringtastic than the old code, however the parser isn't as nice as I would have liked. I thought that the reason we put up with AT&T syntax with Intel is so that assembly syntax could be somewhat consistent across platforms. At least for ppc64le, that does not appear to be the case. Change-Id: Ic7e3c6acc3803d19f2c3ff5620c5e39703d74212 Reviewed-on: https://boringssl-review.googlesource.com/16464 Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: Adam Langley <agl@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
37 lines
644 B
ArmAsm
37 lines
644 B
ArmAsm
# .text stays in .text
|
|
.text
|
|
movq %rax, %rax
|
|
|
|
# -ffunction-sections is undone.
|
|
.section .text.foo,"ax",@progbits
|
|
.globl foo
|
|
foo:
|
|
ret
|
|
|
|
# .rodata is moved to .text.
|
|
.section .rodata
|
|
.long 42
|
|
.string "Hello world, esc\ape characters are \"fun\"\\"
|
|
|
|
# Compilers sometimes emit extra rodata sections.
|
|
.section .rodata.str1.1,"aMS",@progbits,1
|
|
.string "NIST P-256"
|
|
.text
|
|
|
|
# A number of sections are left alone.
|
|
.section .init_array,"aw"
|
|
.align 8
|
|
.quad foo
|
|
.section .rodata
|
|
.align 16
|
|
.section .debug_info,"",@progbits
|
|
.Ldebug_info0:
|
|
.long 0x1b35e
|
|
.value 0x4
|
|
.long .L1
|
|
.byte 0x8
|
|
.uleb128 0x1
|
|
.long .L2
|
|
.byte 0x1
|
|
.long .L3
|