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 .req r12 > ORIG_W .req r14 /* width (pixels) */ > > -fname: > push {r4-r11, lr} /* save all registers */ > > subs Y, 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_8888_8888_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