|
Message-ID: <20150721130825.GA5641@port70.net> Date: Tue, 21 Jul 2015 15:08:25 +0200 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: Re: fenv.s ARMv7 with clang * Kjell Braden <kjell.braden@...ed.de> [2015-07-21 10:23:56 +0200]: > I've attached a patch that allows to compile fenv.s when using clang > targeting ARMv7. I haven't tried this with older architectures or other > compilers, but clang refuses to compile MRC/MCR with cp10. Instead, it > requires using VMSR/VMRS with FPSCR. > there is a problem which i also have to fix in math/armhf/*.s some armhf toolchains don't pass down -mfpu=vfp to the assembler, they just add ".fpu vfp" directive to the asm when compiling c code, so when you compile an asm file directly without the .fpu directive the vfp instructions are rejected by gas. the solution is either pass -mfpu=vfp* in the CFLAGS (but it needs some amount of configure trickery) or add the .fpu directive to these asm files. asm for reading FPSCR (all have the same encoding): .word 0xeef10a10 // always ok but not treated as an insn mcr p10,7,r0,cp1,cp0,0 // should be always ok, deprecated? fmrx r0,fpscr // old mnemonics, needs vfp vmrs r0,fpscr // new mnemonics, needs vfp and binutils >=2.21 i think we should change all armhf asm to use the old mnemonics (i think "unified assembler language" was introduced in armv7 and vfpv3, but new binutils accepts both old and new mnemonics independently of arm version) and add ".fpu vfp" if vfp instructions are used. i will do these changes if there are no objections.
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.