Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7244cf2a authored by Chih-Hung Hsieh's avatar Chih-Hung Hsieh
Browse files

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
parent a1b2036f
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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))
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@
 * SUCH DAMAGE.
 */
    .text
    .align
    .align 0

    .global scanline_col32cb16blend_arm64

+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@
 * SUCH DAMAGE.
 */
    .text
    .align
    .align 0

    .global scanline_t32cb16blend_arm64

+3 −2
Original line number Diff line number Diff line
@@ -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
+0 −3
Original line number Diff line number Diff line
@@ -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
Loading