To compile with llvm integrated assembler.

* Explicitly specify default .align 0.
* Use standard ldmfdlo instruction.
* Before and after gas outputs are identical,
  with align 0 sections.
* Objdump showed .text/.data/.bss section alignment
  attributes are 2^0 from gas and 2^2 from llvm
  assembler. These .S files might be working when
  compiled by gas, but llvm assembler's output should
  be more correct or conservative.

Change-Id: I4e578dbc8155c0d06d1bbc1c33ec4cc851a18479
This commit is contained in:
Chih-Hung Hsieh 2015-08-21 12:17:43 -07:00
parent a1b2036f4d
commit 7244cf2aa5
8 changed files with 6 additions and 16 deletions

View file

@ -70,10 +70,6 @@ LOCAL_SHARED_LIBRARIES := libcutils liblog
# libhardware, but this at least gets us built.
LOCAL_SHARED_LIBRARIES += libhardware_legacy
LOCAL_CFLAGS += -DWITH_LIB_HARDWARE
# t32cb16blend.S does not compile with Clang.
LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
# arch-arm64/col32cb16blend.S does not compile with Clang.
LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
include $(BUILD_SHARED_LIBRARY)
include $(call all-makefiles-under,$(LOCAL_PATH))

View file

@ -26,7 +26,7 @@
* SUCH DAMAGE.
*/
.text
.align
.align 0
.global scanline_col32cb16blend_arm64

View file

@ -26,7 +26,7 @@
* SUCH DAMAGE.
*/
.text
.align
.align 0
.global scanline_t32cb16blend_arm64

View file

@ -17,6 +17,7 @@
.text
.syntax unified
.align
.global scanline_t32cb16blend_arm
@ -146,7 +147,7 @@ scanline_t32cb16blend_arm:
tst r0, #0x3
beq aligned
subs r2, r2, #1
ldmlofd sp!, {r4-r7, lr} // return
ldmfdlo sp!, {r4-r7, lr} // return
bxlo lr
last:
@ -197,6 +198,6 @@ aligned:
mov r4, r5
9: adds r2, r2, #1
ldmlofd sp!, {r4-r7, lr} // return
ldmfdlo sp!, {r4-r7, lr} // return
bxlo lr
b last

View file

@ -5,9 +5,6 @@ LOCAL_SRC_FILES:= \
arm64_assembler_test.cpp\
asm_test_jacket.S
# asm_test_jacket.S does not compile with Clang.
LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
LOCAL_SHARED_LIBRARIES := \
libcutils \
libpixelflinger

View file

@ -27,7 +27,7 @@
*/
.text
.align
.align 0
.global asm_test_jacket

View file

@ -5,8 +5,6 @@ LOCAL_SRC_FILES:= \
col32cb16blend_test.c \
../../../arch-arm64/col32cb16blend.S
LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
LOCAL_SHARED_LIBRARIES :=
LOCAL_C_INCLUDES :=

View file

@ -5,8 +5,6 @@ LOCAL_SRC_FILES:= \
t32cb16blend_test.c \
../../../arch-arm64/t32cb16blend.S
LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
LOCAL_SHARED_LIBRARIES :=
LOCAL_C_INCLUDES :=