This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [csl-arm] Add some EABI functions to libgcc


On Wed, 2005-08-10 at 10:46, Richard Sandiford wrote:
> This patch adds two EABI division functions to libgcc: __aeabi_idiv
> (which can be aliased to __divsi3) and __aeabi_uidiv (which can be
> aliased to __udivsi3).
> 
> It also adds implementations of the unaligned read/write functions.
> These functions are written in C rather than assembly, on the basis
> that gcc already generates good opencoded accesses at -O2, and that
> it avoids having to deal with ARM/thumb/--with-tune variations.
> 
> The patch also adds the new functions to libgcc-bpabi.ver.
> I've given them the same 3.5 version as the other functions,
> but I wasn't sure whether that was the right thing or not.
> 

I see no real reason to change the version for new additions.  It's only
changes to ABI interfaces that need version bumps.

> Finally, the patch adds some new tests to arm-eabi1.c 
> 
> Regression tested with an arm-eabi cross on csl-arm branch.  Also tested
> by building an arm-linux-gnu toolchain & glibc and making sure that
> arm-eabi1.c links successfully both with and without -shared-libgcc.
> 
> OK for csl-arm branch, and for mainline too if similar testing
> passes there?  If so, are there any other branches it should go on?
> 

OK for csl-arm and mainline.  I don't think it's needed elsewhere.

Thanks,

R.
> Richard
> 
> 
> 	* config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
> 	* config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
> 	__aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
> 	and __aeabi_uwrite8.
> 	* config/arm/unaligned-funcs.c: New file.
> 	* config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
> 
> testsuite/
> 	* gcc.dg/arm-eabi1.c: Test aeabi_idiv, __aeabi_uidiv, __aeabi_uread4,
> 	__aeabi_uread8, __aeabi_uwrite4 and __aeabi_uwrite8.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]