Re: svn commit: r234014 - head/lib/libc/arm/gen

2012-04-10 Thread Andrew Turner
On Mon, 9 Apr 2012 09:39:23 -0700 Juli Mallett wrote: > On Mon, Apr 9, 2012 at 01:44, Andrew Turner > wrote: > > How does the attached (untested) patch look. It explicitly loads > > ARM_TP_ADDRESS into a r0 to ensure r1-3 are not touched. > > The example file I pointed at was for the kernel, wh

Re: svn commit: r234014 - head/lib/libc/arm/gen

2012-04-09 Thread Juli Mallett
On Mon, Apr 9, 2012 at 01:44, Andrew Turner wrote: > How does the attached (untested) patch look. It explicitly loads > ARM_TP_ADDRESS into a r0 to ensure r1-3 are not touched. The example file I pointed at was for the kernel, where the LOCORE-related ifdefs (almost) make sense, but for userland

Re: svn commit: r234014 - head/lib/libc/arm/gen

2012-04-09 Thread Andrew Turner
On Mon, 9 Apr 2012 01:03:15 -0700 Juli Mallett wrote: > On Sun, Apr 8, 2012 at 21:14, Andrew Turner > wrote: > > We can implement it as a naked function but we will need to store > > all registers other than r0 and pc which seems a waste. > > > > The problem implementing it in an assembly file i

Re: svn commit: r234014 - head/lib/libc/arm/gen

2012-04-09 Thread Juli Mallett
On Sun, Apr 8, 2012 at 21:14, Andrew Turner wrote: > We can implement it as a naked function but we will need to store all > registers other than r0 and pc which seems a waste. > > The problem implementing it in an assembly file is we are unable to use > ARM_TP_ADDRESS is defined as: > #define ARM

Re: svn commit: r234014 - head/lib/libc/arm/gen

2012-04-08 Thread Andrew Turner
On Sun, 8 Apr 2012 18:36:45 -0700 Juli Mallett wrote: > On Sat, Apr 7, 2012 at 21:45, Andrew Turner > wrote: > > On Sun, 8 Apr 2012 04:36:27 + (UTC) > > Andrew Turner wrote: > > > >> Author: andrew > >> Date: Sun Apr  8 04:36:27 2012 > >> New Revision: 234014 > >> URL: http://svn.freebsd.or

Re: svn commit: r234014 - head/lib/libc/arm/gen

2012-04-08 Thread Juli Mallett
On Sat, Apr 7, 2012 at 21:45, Andrew Turner wrote: > On Sun, 8 Apr 2012 04:36:27 + (UTC) > Andrew Turner wrote: > >> Author: andrew >> Date: Sun Apr  8 04:36:27 2012 >> New Revision: 234014 >> URL: http://svn.freebsd.org/changeset/base/234014 >> >> Log: >>   Unlike other functions __aeabi_rea

Re: svn commit: r234014 - head/lib/libc/arm/gen

2012-04-07 Thread Andrew Turner
On Sun, 8 Apr 2012 04:36:27 + (UTC) Andrew Turner wrote: > Author: andrew > Date: Sun Apr 8 04:36:27 2012 > New Revision: 234014 > URL: http://svn.freebsd.org/changeset/base/234014 > > Log: > Unlike other functions __aeabi_read_tp function must preserve > r1-r3. The currently generated co

svn commit: r234014 - head/lib/libc/arm/gen

2012-04-07 Thread Andrew Turner
Author: andrew Date: Sun Apr 8 04:36:27 2012 New Revision: 234014 URL: http://svn.freebsd.org/changeset/base/234014 Log: Unlike other functions __aeabi_read_tp function must preserve r1-r3. The currently generated code clobbers r3. Fix this by loading ARM_TP_ADDRESS using inline assembly.