summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChih-Hung Hsieh2015-08-21 14:17:43 -0500
committerChih-Hung Hsieh2015-08-21 17:58:26 -0500
commit7244cf2aa5494840c7ced3d1bc65de7d76e53014 (patch)
tree4097bf4afed85c3f9a1ac5e24bd888f97e56a3b5 /libpixelflinger
parenta1b2036f4daf9e0de0fe616e5f371d75f6b2357d (diff)
downloadplatform-system-core-7244cf2aa5494840c7ced3d1bc65de7d76e53014.tar.gz
platform-system-core-7244cf2aa5494840c7ced3d1bc65de7d76e53014.tar.xz
platform-system-core-7244cf2aa5494840c7ced3d1bc65de7d76e53014.zip
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
Diffstat (limited to 'libpixelflinger')
-rw-r--r--libpixelflinger/Android.mk4
-rw-r--r--libpixelflinger/arch-arm64/col32cb16blend.S2
-rw-r--r--libpixelflinger/arch-arm64/t32cb16blend.S2
-rw-r--r--libpixelflinger/t32cb16blend.S5
-rw-r--r--libpixelflinger/tests/arch-arm64/assembler/Android.mk3
-rw-r--r--libpixelflinger/tests/arch-arm64/assembler/asm_test_jacket.S2
-rw-r--r--libpixelflinger/tests/arch-arm64/col32cb16blend/Android.mk2
-rw-r--r--libpixelflinger/tests/arch-arm64/t32cb16blend/Android.mk2
8 files changed, 6 insertions, 16 deletions
diff --git a/libpixelflinger/Android.mk b/libpixelflinger/Android.mk
index 697db25e1..11e7988b3 100644
--- a/libpixelflinger/Android.mk
+++ b/libpixelflinger/Android.mk
@@ -70,10 +70,6 @@ LOCAL_SHARED_LIBRARIES := libcutils liblog
70# libhardware, but this at least gets us built. 70# libhardware, but this at least gets us built.
71LOCAL_SHARED_LIBRARIES += libhardware_legacy 71LOCAL_SHARED_LIBRARIES += libhardware_legacy
72LOCAL_CFLAGS += -DWITH_LIB_HARDWARE 72LOCAL_CFLAGS += -DWITH_LIB_HARDWARE
73# t32cb16blend.S does not compile with Clang.
74LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
75# arch-arm64/col32cb16blend.S does not compile with Clang.
76LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
77include $(BUILD_SHARED_LIBRARY) 73include $(BUILD_SHARED_LIBRARY)
78 74
79include $(call all-makefiles-under,$(LOCAL_PATH)) 75include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/libpixelflinger/arch-arm64/col32cb16blend.S b/libpixelflinger/arch-arm64/col32cb16blend.S
index 18a01fd68..8d9c7c419 100644
--- a/libpixelflinger/arch-arm64/col32cb16blend.S
+++ b/libpixelflinger/arch-arm64/col32cb16blend.S
@@ -26,7 +26,7 @@
26 * SUCH DAMAGE. 26 * SUCH DAMAGE.
27 */ 27 */
28 .text 28 .text
29 .align 29 .align 0
30 30
31 .global scanline_col32cb16blend_arm64 31 .global scanline_col32cb16blend_arm64
32 32
diff --git a/libpixelflinger/arch-arm64/t32cb16blend.S b/libpixelflinger/arch-arm64/t32cb16blend.S
index 7da8cf559..230f47bb4 100644
--- a/libpixelflinger/arch-arm64/t32cb16blend.S
+++ b/libpixelflinger/arch-arm64/t32cb16blend.S
@@ -26,7 +26,7 @@
26 * SUCH DAMAGE. 26 * SUCH DAMAGE.
27 */ 27 */
28 .text 28 .text
29 .align 29 .align 0
30 30
31 .global scanline_t32cb16blend_arm64 31 .global scanline_t32cb16blend_arm64
32 32
diff --git a/libpixelflinger/t32cb16blend.S b/libpixelflinger/t32cb16blend.S
index caf9eb7cd..1d40ad4e5 100644
--- a/libpixelflinger/t32cb16blend.S
+++ b/libpixelflinger/t32cb16blend.S
@@ -17,6 +17,7 @@
17 17
18 18
19 .text 19 .text
20 .syntax unified
20 .align 21 .align
21 22
22 .global scanline_t32cb16blend_arm 23 .global scanline_t32cb16blend_arm
@@ -146,7 +147,7 @@ scanline_t32cb16blend_arm:
146 tst r0, #0x3 147 tst r0, #0x3
147 beq aligned 148 beq aligned
148 subs r2, r2, #1 149 subs r2, r2, #1
149 ldmlofd sp!, {r4-r7, lr} // return 150 ldmfdlo sp!, {r4-r7, lr} // return
150 bxlo lr 151 bxlo lr
151 152
152last: 153last:
@@ -197,6 +198,6 @@ aligned:
197 mov r4, r5 198 mov r4, r5
198 199
1999: adds r2, r2, #1 2009: adds r2, r2, #1
200 ldmlofd sp!, {r4-r7, lr} // return 201 ldmfdlo sp!, {r4-r7, lr} // return
201 bxlo lr 202 bxlo lr
202 b last 203 b last
diff --git a/libpixelflinger/tests/arch-arm64/assembler/Android.mk b/libpixelflinger/tests/arch-arm64/assembler/Android.mk
index 448d2980e..bd0f24b3e 100644
--- a/libpixelflinger/tests/arch-arm64/assembler/Android.mk
+++ b/libpixelflinger/tests/arch-arm64/assembler/Android.mk
@@ -5,9 +5,6 @@ LOCAL_SRC_FILES:= \
5 arm64_assembler_test.cpp\ 5 arm64_assembler_test.cpp\
6 asm_test_jacket.S 6 asm_test_jacket.S
7 7
8# asm_test_jacket.S does not compile with Clang.
9LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
10
11LOCAL_SHARED_LIBRARIES := \ 8LOCAL_SHARED_LIBRARIES := \
12 libcutils \ 9 libcutils \
13 libpixelflinger 10 libpixelflinger
diff --git a/libpixelflinger/tests/arch-arm64/assembler/asm_test_jacket.S b/libpixelflinger/tests/arch-arm64/assembler/asm_test_jacket.S
index a1392c29e..f44859f62 100644
--- a/libpixelflinger/tests/arch-arm64/assembler/asm_test_jacket.S
+++ b/libpixelflinger/tests/arch-arm64/assembler/asm_test_jacket.S
@@ -27,7 +27,7 @@
27 */ 27 */
28 28
29 .text 29 .text
30 .align 30 .align 0
31 31
32 .global asm_test_jacket 32 .global asm_test_jacket
33 33
diff --git a/libpixelflinger/tests/arch-arm64/col32cb16blend/Android.mk b/libpixelflinger/tests/arch-arm64/col32cb16blend/Android.mk
index 5d69203b4..3368eb017 100644
--- a/libpixelflinger/tests/arch-arm64/col32cb16blend/Android.mk
+++ b/libpixelflinger/tests/arch-arm64/col32cb16blend/Android.mk
@@ -5,8 +5,6 @@ LOCAL_SRC_FILES:= \
5 col32cb16blend_test.c \ 5 col32cb16blend_test.c \
6 ../../../arch-arm64/col32cb16blend.S 6 ../../../arch-arm64/col32cb16blend.S
7 7
8LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
9
10LOCAL_SHARED_LIBRARIES := 8LOCAL_SHARED_LIBRARIES :=
11 9
12LOCAL_C_INCLUDES := 10LOCAL_C_INCLUDES :=
diff --git a/libpixelflinger/tests/arch-arm64/t32cb16blend/Android.mk b/libpixelflinger/tests/arch-arm64/t32cb16blend/Android.mk
index 2c1379bd7..8e5ec5e01 100644
--- a/libpixelflinger/tests/arch-arm64/t32cb16blend/Android.mk
+++ b/libpixelflinger/tests/arch-arm64/t32cb16blend/Android.mk
@@ -5,8 +5,6 @@ LOCAL_SRC_FILES:= \
5 t32cb16blend_test.c \ 5 t32cb16blend_test.c \
6 ../../../arch-arm64/t32cb16blend.S 6 ../../../arch-arm64/t32cb16blend.S
7 7
8LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
9
10LOCAL_SHARED_LIBRARIES := 8LOCAL_SHARED_LIBRARIES :=
11 9
12LOCAL_C_INCLUDES := 10LOCAL_C_INCLUDES :=