On Mon, 7 Apr 2014 14:57:10 +0300
Pekka Paalanen ppaala...@gmail.com wrote:
From: Pekka Paalanen pekka.paala...@collabora.co.uk
The two ARM headers contained open-coded copies of pixman_asm_function,
replace these.
Since it seems customary that ARM headers do not use CPP include guards,
rely on the .S files to #include pixman-arm-asm.h first. They all
already do.
---
pixman/pixman-arm-neon-asm.h | 20
pixman/pixman-arm-simd-asm.h | 9 +
2 files changed, 5 insertions(+), 24 deletions(-)
diff --git a/pixman/pixman-arm-neon-asm.h b/pixman/pixman-arm-neon-asm.h
index d0d92d7..bdcf6a9 100644
--- a/pixman/pixman-arm-neon-asm.h
+++ b/pixman/pixman-arm-neon-asm.h
@@ -631,14 +631,8 @@ local skip1
src_basereg_ = 0, \
mask_basereg_ = 24
-.func fname
-.global fname
-/* For ELF format also set function visibility to hidden */
-#ifdef __ELF__
-.hidden fname
-.type fname, %function
-#endif
-fname:
+pixman_asm_function fname
+
push{r4-r12, lr}/* save all registers */
/*
@@ -945,14 +939,8 @@ fname:
src_basereg_ = 0, \
mask_basereg_ = 24
-.func fname
-.global fname
-/* For ELF format also set function visibility to hidden */
-#ifdef __ELF__
-.hidden fname
-.type fname, %function
-#endif
-fname:
+pixman_asm_function fname
+
.set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE
/*
* Make some macro arguments globally visible and accessible
diff --git a/pixman/pixman-arm-simd-asm.h b/pixman/pixman-arm-simd-asm.h
index 24b1ad2..1b2c592 100644
--- a/pixman/pixman-arm-simd-asm.h
+++ b/pixman/pixman-arm-simd-asm.h
@@ -561,13 +561,7 @@
process_tail, \
process_inner_loop
- .func fname
- .global fname
- /* For ELF format also set function visibility to hidden */
-#ifdef __ELF__
- .hidden fname
- .type fname, %function
-#endif
+pixman_asm_function fname
/*
* Make some macro arguments globally visible and accessible
@@ -679,7 +673,6 @@
SCRATCH .reqr12
ORIG_W .reqr14 /* width (pixels) */
-fname:
push{r4-r11, lr}/* save all registers */
subsY, Y, #1
Sorry, there is something wrong with this one. I asked a friend to
compile-test it on an ARM box with NEON, and it worked fine, but when I
compile on RPi, I get:
CPPAS pixman-arm-simd-asm.lo
pixman-arm-simd-asm.h: Assembler messages:
pixman-arm-simd-asm.h:563: Error: bad instruction `pixman_asm_function
pixman_composite_src___asm_armv6'
pixman-arm-simd-asm.h:660: Error: missing .func
And I've no idea what it's about. Maybe the assembler cannot expand
nested macros?
So, ignore this patch for the moment.
Thanks,
pq
___
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman