Re: is ARMv4T deprecated?

2015-04-22 Thread Bernhard Reutner-Fischer
On Fri, Apr 17, 2015 at 11:36:13PM +0200, Bernhard Reutner-Fischer wrote:
> On April 17, 2015 8:54:06 PM GMT+02:00, Sergiy Kibrik  wrote:
> >On 4/17/15 6:59 PM, Bernhard Reutner-Fischer wrote:
> >> On 17 April 2015 at 14:32, Bernhard Reutner-Fischer
> >>  wrote:
> >> 
> >>> So i read some documents yesterday night and this lead me to think
> >>> that the condition is just inverted?
> >>> Shouldn't it read more like:
> >> 
> >> May i ask you to try the attached on your arm920t, please?
> >> 
> >> This should of course be tested in pure ARM mode too..
> >> 
> >
> >sure. It seems to be working fine on arm920t in both thumb-interwork &
> >arm-only modes (however I can't try on other hardware currently).
> 
> Excellent, thanks a lot for testing!

I've pushed this now.

Thanks, again, for your help!
cheers,
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-17 Thread Bernhard Reutner-Fischer
On April 17, 2015 8:54:06 PM GMT+02:00, Sergiy Kibrik  wrote:
>On 4/17/15 6:59 PM, Bernhard Reutner-Fischer wrote:
>> On 17 April 2015 at 14:32, Bernhard Reutner-Fischer
>>  wrote:
>> 
>>> So i read some documents yesterday night and this lead me to think
>>> that the condition is just inverted?
>>> Shouldn't it read more like:
>> 
>> May i ask you to try the attached on your arm920t, please?
>> 
>> This should of course be tested in pure ARM mode too..
>> 
>
>sure. It seems to be working fine on arm920t in both thumb-interwork &
>arm-only modes (however I can't try on other hardware currently).

Excellent, thanks a lot for testing!

Cheers,

___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-17 Thread Sergiy Kibrik
On 4/17/15 6:59 PM, Bernhard Reutner-Fischer wrote:
> On 17 April 2015 at 14:32, Bernhard Reutner-Fischer
>  wrote:
> 
>> So i read some documents yesterday night and this lead me to think
>> that the condition is just inverted?
>> Shouldn't it read more like:
> 
> May i ask you to try the attached on your arm920t, please?
> 
> This should of course be tested in pure ARM mode too..
> 

sure. It seems to be working fine on arm920t in both thumb-interwork &
arm-only modes (however I can't try on other hardware currently).

--
regards,
Sergey



signature.asc
Description: OpenPGP digital signature
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Re: is ARMv4T deprecated?

2015-04-17 Thread Bernhard Reutner-Fischer
On 17 April 2015 at 14:32, Bernhard Reutner-Fischer
 wrote:

> So i read some documents yesterday night and this lead me to think
> that the condition is just inverted?
> Shouldn't it read more like:

May i ask you to try the attached on your arm920t, please?

This should of course be tested in pure ARM mode too..

TIA && cheers,
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index a87cde6..97463ac 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -111,7 +111,7 @@
 /* Indirect stringification.  Doing two levels allows
  * the parameter to be a macro itself.
  */
-#define __stringify_1(x)#x
+#define __stringify_1(x...)#x
 #define __stringify(x)  __stringify_1(x)
 
 #ifdef __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
diff --git a/ldso/ldso/arm/dl-startup.h b/ldso/ldso/arm/dl-startup.h
index df2c824..eb2a9a2 100644
--- a/ldso/ldso/arm/dl-startup.h
+++ b/ldso/ldso/arm/dl-startup.h
@@ -47,11 +47,7 @@ __asm__(
 	"	ldr	r0, .L_FINI_PROC\n"
 	"	ldr	r0, [sl, r0]\n"
 	"	@ jump to the user_s entry point\n"
-#if defined(__USE_BX__)
-	"	bx	r6\n"
-#else
-	"	mov	pc, r6\n"
-#endif
+	"	" __stringify(BX(r6)) "\n"
 	".L_GET_GOT:\n"
 	"	.word	_GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4\n"
 	".L_SKIP_ARGS:\n"
@@ -113,11 +109,7 @@ __asm__(
 	"	ldr	r0, .L_FINI_PROC\n"
 	"	ldr	r0, [r7, r0]\n"
 	"	@ jump to the user_s entry point\n"
-#if defined(__USE_BX__)
-	"	bx	r6\n"
-#else
-	"	mov	pc, r6\n"
-#endif
+	"	" __stringify(BX(r6)) "\n"
 	"\n\n"
 	".L_GET_GOT:\n"
 	"	.word	_GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4\n"
diff --git a/ldso/ldso/arm/resolve.S b/ldso/ldso/arm/resolve.S
index c1caf9a..7e0058e 100644
--- a/ldso/ldso/arm/resolve.S
+++ b/ldso/ldso/arm/resolve.S
@@ -90,12 +90,10 @@
  * dl-startup.c).
  */
 
-#include 
+#include 
 #include 
 #include 
 
-#include 
-
 #define sl r10
 #define fp r11
 #define ip r12
@@ -114,8 +112,8 @@ _dl_linux_resolve:
  @ function must branch to the real function, and that expects
  @ r0-r3 and lr to be as they were before the whole PLT stuff -
  @ ip can be trashed.
-	 @ This routine is called after pushing lr, so we must push an odd
-	 @ number of words to keep the stack correctly aligned.
+ @ This routine is called after pushing lr, so we must push an odd
+ @ number of words to keep the stack correctly aligned.
 
  stmdb sp!, {r0, r1, r2, r3, r4}
  ldr r0, [lr, #-4]   @ r0 := [lr-4] (GOT_TABLE[1])
@@ -124,16 +122,12 @@ _dl_linux_resolve:
  @ ~x = -x-1, therefore ~(r1>>2) = (-((lr-ip)>>2)-1)
  @ = - ((lr-ip)/4) - 1 = (ip - lr - 4)/4, as required
 
-	bl _dl_linux_resolver
+bl _dl_linux_resolver
 
-	mov ip, r0
+mov ip, r0
 ldmia sp!, {r0, r1, r2, r3, r4, lr}
 
-#if defined(__USE_BX__)
-	bx ip
-#else
-	mov pc,ip
-#endif
+BX(ip)
 #else
@ In the thumb case _dl_linux_resolver is thumb.  If a bl is used
@ from arm code the linker will insert a stub call which, with
diff --git a/libc/string/arm/_memcpy.S b/libc/string/arm/_memcpy.S
index c59f5b8..2999e8e 100644
--- a/libc/string/arm/_memcpy.S
+++ b/libc/string/arm/_memcpy.S
@@ -111,11 +111,7 @@ _memcpy:
 	bcc	.Lmemcpy_backwards
 
 	IT(t, eq)			/* Quick abort for src=dst */
-#if defined(__USE_BX__)
-bxeqlr
-#else
-moveq   pc, lr
-#endif
+	BXC(eq, lr)
 	stmdb	sp!, {r0, lr}		/* memcpy() returns dest addr */
 	subs	r2, r2, #4
 	blt	.Lmemcpy_fl4		/* less than 4 bytes */
@@ -455,11 +451,7 @@ _memcpy:
 	/* less than 4 bytes to go */
 	adds	r2, r2, #4
 	IT(t, eq)
-#if defined(__USE_BX__)
-bxeqlr
-#else
-	moveq	pc, lr			/* done */
-#endif
+	BXC(eq, lr)			/* done */
 	/* copy the crud byte at a time */
 	cmp	r2, #2
 	ldrb	r3, [r1, #-1]!
@@ -477,11 +469,7 @@ _memcpy:
 	ldrgtb	r3, [r1, #-1]!
 	strgtb	r3, [r0, #-1]!
 #endif
-#if defined(__USE_BX__)
-bx  lr
-#else
-	mov	pc, lr
-#endif
+	BX(lr)
 	/* erg - unaligned destination */
 .Lmemcpy_bdestul:
 	cmp	r12, #2
diff --git a/libc/string/arm/memcmp.S b/libc/string/arm/memcmp.S
index 9f78415..5b9473c 100644
--- a/libc/string/arm/memcmp.S
+++ b/libc/string/arm/memcmp.S
@@ -67,11 +67,7 @@ memcmp:
 	subs	r2, r2, #1
 	IT(tt, mi)
 	movmi	r0, #0
-#if defined(__USE_BX__)
-bxmilr
-#else
-	movmi	pc, lr
-#endif
+	BXC(mi, lr)
 	/* ip == last src address to compare */
 	add	ip, r0, r2
 1:
@@ -82,11 +78,7 @@ memcmp:
 	cmpcs	r2, r3
 	beq	1b
 	sub	r0, r2, r3
-#if defined(__USE_BX__)
-bx  lr
-#else
- 	mov	pc, lr
-#endif
+	BX(lr)
 #endif
 
 .size memcmp,.-memcmp
diff --git a/libc/string/arm/memset.S b/libc/string/arm/memset.S
index 8ddc47e..2be4850 100644
--- a/libc/string/arm/memset.S
+++ b/libc/string/arm/memset.S
@@ -17,7 +17,6 @@
.  */
 
 #include 
-#include 
 #include 
 #include 
 
@@ -109,11 +108,7 @@ memset:
 2:
 	movs	a3, a3		@ anything left?
 	IT(t, eq)
-#if defined(__USE_BX__)
-bxeqlr
-#else
-moveq	pc, lr		

Re: is ARMv4T deprecated?

2015-04-17 Thread Bernhard Reutner-Fischer
>>--- a/libc/sysdeps/linux/arm/bits/arm_asm.h
>>+++ b/libc/sysdeps/linux/arm/bits/arm_asm.h
>>@@ -13,12 +13,8 @@
>>unified assembly syntax.  */
>> #define IT(t, cond)
>> /* Code to return from a thumb function stub.  */
>>-#ifdef __ARM_ARCH_4T__
>>-#define POP_RET pop   {r2, pc}
>>-#else
>> #define POP_RET pop   {r2, r3}; bxr3
>> #endif
>>-#endif
>>
>> #if defined(__ARM_ARCH_6M__)
>> /* Force arm mode to flush out errors on M profile cores.  */
>>
>>
>>What do you think of such fix?
>
> Should probably take USE_BX into account..
> Other than that and a signed-off-by sure, whatever works for you!

So i read some documents yesterday night and this lead me to think
that the condition is just inverted?
Shouldn't it read more like:

 /* Code to return from a thumb function stub.  */
#if defined __ARM_ARCH_4T__ /* && defined __THUMB_INTERWORK__ */
# define POP_RET pop   {r2, r3}; bxr3
#else
# define POP_RET pop   {r2, pc}
#endif

thanks,
>
> Many TIA,
>
>
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-16 Thread Bernhard Reutner-Fischer
On April 16, 2015 9:04:47 PM GMT+02:00, Sergiy Kibrik  wrote:
>On 4/16/15 12:43 AM, Bernhard Reutner-Fischer wrote:
 >> Please send me your
 >> grep "memcpy\.o[sS]* " log.do_compile
 >> The file should be somewhere around your
 >>
>tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile
>>> >
>>> > here it goes: http://pastebin.com/VGqf31ac
>> arm-poky-linux-uclibceabi-gcc -march=armv4t -marm -mthumb-interwork
>> -msoft-float -mlittle-endian -mthumb
>> 
>> I see no notion of a tune?
>> 
>> IIRC armv4t defaulted to arm7TDMI. Given that OE usually does not
>> configure for a default CPU (AFAICS) you have to pass a proper tune.
>> 
>> My 920t build used:
>> arm-oe-linux-uclibceabi-gcc -march=armv4t -mthumb  -mthumb-interwork
>> -O2 -mtune=arm920t
>> 
>> in your local.conf, try:
>> FULL_OPTIMIZATION = "-O2 -mtune=arm920t"
>> ARM_INSTRUCTION_SET := "thumb"
>> 
>> maybe you need some additional settings like DEFAULTTUNE TUNE_ARCH
>> TUNE_PKGARCH that you certainly use already.
>> 
>
>I tried -mtune=arm920t some time ago once, but it didn't help.
>
>I changed return [from Thumb routine] code, and it did the trick, now
>busybox and couple of utilities seems to be working (yet I didn't run
>uclibc tests):
>
>diff --git a/libc/sysdeps/linux/arm/bits/arm_asm.h
>b/libc/sysdeps/linux/arm/bits/arm_asm.h
>index 04664b3..78dc6f0 100644
>--- a/libc/sysdeps/linux/arm/bits/arm_asm.h
>+++ b/libc/sysdeps/linux/arm/bits/arm_asm.h
>@@ -13,12 +13,8 @@
>unified assembly syntax.  */
> #define IT(t, cond)
> /* Code to return from a thumb function stub.  */
>-#ifdef __ARM_ARCH_4T__
>-#define POP_RET pop   {r2, pc}
>-#else
> #define POP_RET pop   {r2, r3}; bxr3
> #endif
>-#endif
>
> #if defined(__ARM_ARCH_6M__)
> /* Force arm mode to flush out errors on M profile cores.  */
>
>
>What do you think of such fix?

Should probably take USE_BX into account..
Other than that and a signed-off-by sure, whatever works for you!

Many TIA,


___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-16 Thread Sergiy Kibrik
On 4/16/15 12:43 AM, Bernhard Reutner-Fischer wrote:
>>> >> Please send me your
>>> >> grep "memcpy\.o[sS]* " log.do_compile
>>> >> The file should be somewhere around your
>>> >> tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile
>> >
>> > here it goes: http://pastebin.com/VGqf31ac
> arm-poky-linux-uclibceabi-gcc -march=armv4t -marm -mthumb-interwork
> -msoft-float -mlittle-endian -mthumb
> 
> I see no notion of a tune?
> 
> IIRC armv4t defaulted to arm7TDMI. Given that OE usually does not
> configure for a default CPU (AFAICS) you have to pass a proper tune.
> 
> My 920t build used:
> arm-oe-linux-uclibceabi-gcc -march=armv4t -mthumb  -mthumb-interwork
> -O2 -mtune=arm920t
> 
> in your local.conf, try:
> FULL_OPTIMIZATION = "-O2 -mtune=arm920t"
> ARM_INSTRUCTION_SET := "thumb"
> 
> maybe you need some additional settings like DEFAULTTUNE TUNE_ARCH
> TUNE_PKGARCH that you certainly use already.
> 

I tried -mtune=arm920t some time ago once, but it didn't help.

I changed return [from Thumb routine] code, and it did the trick, now
busybox and couple of utilities seems to be working (yet I didn't run
uclibc tests):

diff --git a/libc/sysdeps/linux/arm/bits/arm_asm.h
b/libc/sysdeps/linux/arm/bits/arm_asm.h
index 04664b3..78dc6f0 100644
--- a/libc/sysdeps/linux/arm/bits/arm_asm.h
+++ b/libc/sysdeps/linux/arm/bits/arm_asm.h
@@ -13,12 +13,8 @@
unified assembly syntax.  */
 #define IT(t, cond)
 /* Code to return from a thumb function stub.  */
-#ifdef __ARM_ARCH_4T__
-#define POP_RET pop{r2, pc}
-#else
 #define POP_RET pop{r2, r3}; bxr3
 #endif
-#endif

 #if defined(__ARM_ARCH_6M__)
 /* Force arm mode to flush out errors on M profile cores.  */


What do you think of such fix?

--
regards,
Sergey



signature.asc
Description: OpenPGP digital signature
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Re: is ARMv4T deprecated?

2015-04-15 Thread Bernhard Reutner-Fischer
On 16 April 2015 at 00:33, Gustavo Zacarias  wrote:
> On 04/15/2015 07:20 PM, Bernhard Reutner-Fischer wrote:
>
>>>   AS libc/sysdeps/linux/arm/syscall-eabi.os
>>
>> please show me that compiler invocation with V=2 ?

> -I./ldso/include -I. -Os -fstrict-aliasing -mthumb -mthumb-interwork

> In buildroot we do prebuild gcc --with-cpu, hence no need to specify
> that later (target=arm920t).
> With my patch it builds fine until the end.

So does just 4.8.4 on ARM with thumb1 need attribute_optimize("O2")
there or does -marm need it too?
What about 4.9.2 and 5 ?

thanks,
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-15 Thread Bernhard Reutner-Fischer
On 16 April 2015 at 00:13, Gustavo Zacarias  wrote:
> On 04/15/2015 05:01 PM, Bernhard Reutner-Fischer wrote:
>
>> These spill failures should be fixed on master, fyi.
>
> There's still one:
>
> -
>   AS libc/sysdeps/linux/arm/syscall-eabi.os

please show me that compiler invocation with V=2 ?

> In file included from ldso/ldso/ldso.c:1438:0:
> ldso/ldso/dl-elf.c: In function '_dl_load_elf_shared_library':
> ldso/ldso/dl-elf.c:963:1: error: unable to find a register to spill in
> class 'LO_REGS'
>  }
>  ^
> ldso/ldso/dl-elf.c:963:1: error: this is the insn:
> (insn 679 677 680 87 (set (reg/v:SI 5 r5 [ _v2 ])
> (lshiftrt:SI (reg:SI 634)
> (const_int 13 [0xd]))) ./ldso/include/dl-syscall.h:220 128
> {*thumb1_lshrsi3}
>  (expr_list:REG_DEAD (reg:SI 634)
> (nil)))
> ldso/ldso/dl-elf.c:963: confused by earlier errors, bailing out
> Makerules:393: recipe for target 'ldso/ldso/ldso.oS' failed
> make[1]: *** [ldso/ldso/ldso.oS] Error 1
> make[1]: *** Waiting for unfinished jobs
>   CC libc/sysdeps/linux/common/umount.os
> make[1]: Leaving directory
> '/home/gustavoz/b/router01/output/build/uclibc-snapshot'
> package/pkg-generic.mk:183: recipe for target
> '/home/gustavoz/b/router01/output/build/uclibc-snapshot/.stamp_built' failed
> make: ***
> [/home/gustavoz/b/router01/output/build/uclibc-snapshot/.stamp_built]
> Error 2
> -
>
> I've patched that away via attribute_optimize("O2") but then i hit
> another snag:
>
> -
>   CC libc/sysdeps/linux/common/getpgrp.os
> In file included from ./include/sys/syscall.h:33:0,
>  from libc/sysdeps/linux/common/sync_file_range.c:10:
> libc/sysdeps/linux/common/sync_file_range.c: In function
> '__sync_file_range_nocancel':
> ./include/bits/syscalls.h:144:16: error: conflicting types for '_v3'
>register int _v3 __asm__ ("v3") = _v3tmp;

yea, i've pushed a fix for that one yesterday night.

thanks,
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-15 Thread Gustavo Zacarias
On 04/15/2015 05:01 PM, Bernhard Reutner-Fischer wrote:

> These spill failures should be fixed on master, fyi.

There's still one:

-
  AS libc/sysdeps/linux/arm/syscall-eabi.os
In file included from ldso/ldso/ldso.c:1438:0:
ldso/ldso/dl-elf.c: In function '_dl_load_elf_shared_library':
ldso/ldso/dl-elf.c:963:1: error: unable to find a register to spill in
class 'LO_REGS'
 }
 ^
ldso/ldso/dl-elf.c:963:1: error: this is the insn:
(insn 679 677 680 87 (set (reg/v:SI 5 r5 [ _v2 ])
(lshiftrt:SI (reg:SI 634)
(const_int 13 [0xd]))) ./ldso/include/dl-syscall.h:220 128
{*thumb1_lshrsi3}
 (expr_list:REG_DEAD (reg:SI 634)
(nil)))
ldso/ldso/dl-elf.c:963: confused by earlier errors, bailing out
Makerules:393: recipe for target 'ldso/ldso/ldso.oS' failed
make[1]: *** [ldso/ldso/ldso.oS] Error 1
make[1]: *** Waiting for unfinished jobs
  CC libc/sysdeps/linux/common/umount.os
make[1]: Leaving directory
'/home/gustavoz/b/router01/output/build/uclibc-snapshot'
package/pkg-generic.mk:183: recipe for target
'/home/gustavoz/b/router01/output/build/uclibc-snapshot/.stamp_built' failed
make: ***
[/home/gustavoz/b/router01/output/build/uclibc-snapshot/.stamp_built]
Error 2
-

I've patched that away via attribute_optimize("O2") but then i hit
another snag:

-
  CC libc/sysdeps/linux/common/getpgrp.os
In file included from ./include/sys/syscall.h:33:0,
 from libc/sysdeps/linux/common/sync_file_range.c:10:
libc/sysdeps/linux/common/sync_file_range.c: In function
'__sync_file_range_nocancel':
./include/bits/syscalls.h:144:16: error: conflicting types for '_v3'
   register int _v3 __asm__ ("v3") = _v3tmp;
^
./libc/sysdeps/linux/arm/sysdep.h:281:7: note: in expansion of macro
'LOAD_ARGS_7'
   LOAD_ARGS_##nr (args) \
   ^
./libc/sysdeps/linux/arm/sysdep.h:324:2: note: in expansion of macro
'INTERNAL_SYSCALL_RAW'
  INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
  ^
./libc/sysdeps/linux/arm/sysdep.h:256:40: note: in expansion of macro
'INTERNAL_SYSCALL'
   ({ unsigned int _inline_sys_result = INTERNAL_SYSCALL (name, , nr,
args); \
^
libc/sysdeps/linux/common/sync_file_range.c:32:9: note: in expansion of
macro 'INLINE_SYSCALL'
  return INLINE_SYSCALL(sync_file_range, 7, fd, 0,
 ^
In file included from
./libpthread/nptl/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h:18:0,
 from ./include/cancel.h:58,
 from libc/sysdeps/linux/common/sync_file_range.c:15:
./libc/sysdeps/linux/arm/sysdep.h:280:21: note: previous definition of
'_v3' was here
   register int *_v3 __asm__ ("v3") = _sys_buf;  \
 ^
./libc/sysdeps/linux/arm/sysdep.h:324:2: note: in expansion of macro
'INTERNAL_SYSCALL_RAW'
  INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
  ^
./libc/sysdeps/linux/arm/sysdep.h:256:40: note: in expansion of macro
'INTERNAL_SYSCALL'
   ({ unsigned int _inline_sys_result = INTERNAL_SYSCALL (name, , nr,
args); \
^
libc/sysdeps/linux/common/sync_file_range.c:32:9: note: in expansion of
macro 'INLINE_SYSCALL'
  return INLINE_SYSCALL(sync_file_range, 7, fd, 0,
 ^
./libc/sysdeps/linux/arm/sysdep.h:282:7: error: invalid type argument of
unary '*' (have 'int')
   *_v3 = (int) (name); \
   ^
./libc/sysdeps/linux/arm/sysdep.h:324:2: note: in expansion of macro
'INTERNAL_SYSCALL_RAW'
  INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
  ^
./libc/sysdeps/linux/arm/sysdep.h:256:40: note: in expansion of macro
'INTERNAL_SYSCALL'
   ({ unsigned int _inline_sys_result = INTERNAL_SYSCALL (name, , nr,
args); \
^
libc/sysdeps/linux/common/sync_file_range.c:32:9: note: in expansion of
macro 'INLINE_SYSCALL'
  return INLINE_SYSCALL(sync_file_range, 7, fd, 0,
 ^
Makerules:392: recipe for target
'libc/sysdeps/linux/common/sync_file_range.os' failed
make[1]: *** [libc/sysdeps/linux/common/sync_file_range.os] Error 1
make[1]: *** Waiting for unfinished jobs
make[1]: Leaving directory
'/home/gustavoz/b/router01/output/build/uclibc-snapshot'
package/pkg-generic.mk:183: recipe for target
'/home/gustavoz/b/router01/output/build/uclibc-snapshot/.stamp_built' failed
make: ***
[/home/gustavoz/b/router01/output/build/uclibc-snapshot/.stamp_built]
Error 2
-

By the way, gcc 4.8.x is building good code as well with binutils 2.25,
so it seems gcc 4.9.x has some regression in thumb1.
Regards.
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-15 Thread Bernhard Reutner-Fischer
On 15 April 2015 at 22:34, Sergiy Kibrik  wrote:
> On 4/15/15 1:37 PM, Bernhard Reutner-Fischer wrote:
>> On 9 April 2015 at 20:02, Sergiy Kibrik  wrote:
>>>
>>> On 4/8/15 10:04 AM, Bernhard Reutner-Fischer wrote:
 On April 6, 2015 10:08:57 PM GMT+02:00, Bernhard Reutner-Fischer 
  wrote:
> On April 5, 2015 9:30:30 PM GMT+02:00, Sergiy Kibrik 
> wrote:
>> hi All,
>> Recently I've been trying to use uClibc for quite old arm920t-based
>> board.

 Do you use  -mthumb-interwork ?
>>>
>>> yes, it's enabled by default in yocto
>>
>> I cannot reproduce this.
>> The arm920t eabi image seems to boot fine with qemu for a -cpu arm926.
>
> isn't arm926 based on ARMv5T?

Could be. Yes, it seems it is.
There's no V4 support in qemu it seems, at least ATM.
>
>> Please send me your
>> grep "memcpy\.o[sS]* " log.do_compile
>> The file should be somewhere around your
>> tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile
>
> here it goes: http://pastebin.com/VGqf31ac

arm-poky-linux-uclibceabi-gcc -march=armv4t -marm -mthumb-interwork
-msoft-float -mlittle-endian -mthumb

I see no notion of a tune?

IIRC armv4t defaulted to arm7TDMI. Given that OE usually does not
configure for a default CPU (AFAICS) you have to pass a proper tune.

My 920t build used:
arm-oe-linux-uclibceabi-gcc -march=armv4t -mthumb  -mthumb-interwork
-O2 -mtune=arm920t

in your local.conf, try:
FULL_OPTIMIZATION = "-O2 -mtune=arm920t"
ARM_INSTRUCTION_SET := "thumb"

maybe you need some additional settings like DEFAULTTUNE TUNE_ARCH
TUNE_PKGARCH that you certainly use already.

HTH,
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-15 Thread Sergiy Kibrik
On 4/15/15 10:47 PM, Gustavo Zacarias wrote:
> On 04/15/2015 07:37 AM, Bernhard Reutner-Fischer wrote:
> 
>> I cannot reproduce this.
>> The arm920t eabi image seems to boot fine with qemu for a -cpu arm926.
>>
>> Please send me your
>> grep "memcpy\.o[sS]* " log.do_compile
>> The file should be somewhere around your
>> tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile
> 
> I've managed to reproduce this in buildroot with the latest uclibc snapshot.
> 
> It seems to be toolchain-related, the table goes:
> gcc 4.9.2 + binutils 2.25 + uclibc 0.9.33.2 = good
> gcc 4.9.2 + binutils 2.25 + uclibc snapshot = bad
> gcc 4.7.4 + binutils 2.22 + both uclibc versions = good
> 
> I'll try to get more details, but i suspect gcc is at fault here.
> Sergiy: which gcc version are you using?

gcc 4.9.1 + binutils 2.24

> (BTW, in BR we build uclibc in ARM mode, EABI mandates interworking and
> trying to build it in THUMB mode fails because of register exhaustion,
> haven't tried with snapshot).
> Regards.
> 
> 
--
regards,
Sergey



signature.asc
Description: OpenPGP digital signature
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Re: is ARMv4T deprecated?

2015-04-15 Thread Sergiy Kibrik
On 4/15/15 1:37 PM, Bernhard Reutner-Fischer wrote:
> On 9 April 2015 at 20:02, Sergiy Kibrik  wrote:
>>
>> On 4/8/15 10:04 AM, Bernhard Reutner-Fischer wrote:
>>> On April 6, 2015 10:08:57 PM GMT+02:00, Bernhard Reutner-Fischer 
>>>  wrote:
 On April 5, 2015 9:30:30 PM GMT+02:00, Sergiy Kibrik 
 wrote:
> hi All,
> Recently I've been trying to use uClibc for quite old arm920t-based
> board.
>>>
>>> Do you use  -mthumb-interwork ?
>>
>> yes, it's enabled by default in yocto
> 
> I cannot reproduce this.
> The arm920t eabi image seems to boot fine with qemu for a -cpu arm926.

isn't arm926 based on ARMv5T?

> Please send me your
> grep "memcpy\.o[sS]* " log.do_compile
> The file should be somewhere around your
> tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile

here it goes: http://pastebin.com/VGqf31ac

--
regards,
Sergey



signature.asc
Description: OpenPGP digital signature
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Re: is ARMv4T deprecated?

2015-04-15 Thread Bernhard Reutner-Fischer
On April 15, 2015 9:47:31 PM GMT+02:00, Gustavo Zacarias 
 wrote:
>On 04/15/2015 07:37 AM, Bernhard Reutner-Fischer wrote:
>
>> I cannot reproduce this.
>> The arm920t eabi image seems to boot fine with qemu for a -cpu
>arm926.
>> 
>> Please send me your
>> grep "memcpy\.o[sS]* " log.do_compile
>> The file should be somewhere around your
>>
>tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile
>
>I've managed to reproduce this in buildroot with the latest uclibc
>snapshot.
>
>It seems to be toolchain-related, the table goes:
>gcc 4.9.2 + binutils 2.25 + uclibc 0.9.33.2 = good
>gcc 4.9.2 + binutils 2.25 + uclibc snapshot = bad
>gcc 4.7.4 + binutils 2.22 + both uclibc versions = good
>
>I'll try to get more details, but i suspect gcc is at fault here.
>Sergiy: which gcc version are you using?
>(BTW, in BR we build uclibc in ARM mode, EABI mandates interworking and
>trying to build it in THUMB mode fails because of register exhaustion,
>haven't tried with snapshot).

These spill failures should be fixed on master, fyi.



___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-15 Thread Gustavo Zacarias
On 04/15/2015 07:37 AM, Bernhard Reutner-Fischer wrote:

> I cannot reproduce this.
> The arm920t eabi image seems to boot fine with qemu for a -cpu arm926.
> 
> Please send me your
> grep "memcpy\.o[sS]* " log.do_compile
> The file should be somewhere around your
> tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile

I've managed to reproduce this in buildroot with the latest uclibc snapshot.

It seems to be toolchain-related, the table goes:
gcc 4.9.2 + binutils 2.25 + uclibc 0.9.33.2 = good
gcc 4.9.2 + binutils 2.25 + uclibc snapshot = bad
gcc 4.7.4 + binutils 2.22 + both uclibc versions = good

I'll try to get more details, but i suspect gcc is at fault here.
Sergiy: which gcc version are you using?
(BTW, in BR we build uclibc in ARM mode, EABI mandates interworking and
trying to build it in THUMB mode fails because of register exhaustion,
haven't tried with snapshot).
Regards.

___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-15 Thread Bernhard Reutner-Fischer
On 9 April 2015 at 20:02, Sergiy Kibrik  wrote:
>
> On 4/8/15 10:04 AM, Bernhard Reutner-Fischer wrote:
>> On April 6, 2015 10:08:57 PM GMT+02:00, Bernhard Reutner-Fischer 
>>  wrote:
>>> On April 5, 2015 9:30:30 PM GMT+02:00, Sergiy Kibrik 
>>> wrote:
 hi All,
 Recently I've been trying to use uClibc for quite old arm920t-based
 board.
>>
>> Do you use  -mthumb-interwork ?
>
> yes, it's enabled by default in yocto

I cannot reproduce this.
The arm920t eabi image seems to boot fine with qemu for a -cpu arm926.

Please send me your
grep "memcpy\.o[sS]* " log.do_compile
The file should be somewhere around your
tmp-uclibc/work/armv4t-oe-linux-uclibceabi/uclibc/0.9.33+gitAUTOINC+*/temp/log.do_compile

TIA,
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-09 Thread Sergiy Kibrik

On 4/8/15 10:04 AM, Bernhard Reutner-Fischer wrote:
> On April 6, 2015 10:08:57 PM GMT+02:00, Bernhard Reutner-Fischer 
>  wrote:
>> On April 5, 2015 9:30:30 PM GMT+02:00, Sergiy Kibrik 
>> wrote:
>>> hi All,
>>> Recently I've been trying to use uClibc for quite old arm920t-based
>>> board.
> 
> Do you use  -mthumb-interwork ?

yes, it's enabled by default in yocto

--
regards,
Sergey



signature.asc
Description: OpenPGP digital signature
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Re: is ARMv4T deprecated?

2015-04-08 Thread Bernhard Reutner-Fischer
On April 6, 2015 10:08:57 PM GMT+02:00, Bernhard Reutner-Fischer 
 wrote:
>On April 5, 2015 9:30:30 PM GMT+02:00, Sergiy Kibrik 
>wrote:
>>hi All,
>>Recently I've been trying to use uClibc for quite old arm920t-based
>>board.

Do you use  -mthumb-interwork ?

Thanks,

___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Re: is ARMv4T deprecated?

2015-04-06 Thread Bernhard Reutner-Fischer
On April 5, 2015 9:30:30 PM GMT+02:00, Sergiy Kibrik  wrote:
>hi All,
>Recently I've been trying to use uClibc for quite old arm920t-based
>board. Some busybox applications (like shell, mount, hostname, wget)
>would get killed with SIGILL. I managed to debug it down to leaving
>memcpy() routine, namely to the following code from
>libc/string/arm/memcpy.S:
>
>[..]
>.thumb_func
>memcpy:
>   push{r0, lr}
>   bl  _memcpy
>   POP_RET
>[..]
>
>POP_RET defined as pop {r2, pc} in [1]. On armv4t is just won't switch
>CPU back to arm mode, so in my case it seems to be jumping to calling
>arm routine while still being in thumb mode.
>
>I'm not sure if this is the case, but I've also found couple of
>comments
>in code:
>http://git.uclibc.org/uClibc/tree/ldso/ldso/arm/resolve.S#n62
>http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/arm/crtn.S#n10
>
>stating that some parts aren't even supposed to work on armv4t.
>Has armv4t been deprecated for good (I use master branch currently)?

I think this was a mere accident. Patches are welcome!

TIA,

>Thanks.
>
>[1]
>http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/arm/bits/arm_asm.h#n15

___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc


Re: is ARMv4T deprecated?

2015-04-06 Thread Sergiy Kibrik
On 4/6/15 6:32 PM, Waldemar Brodkorb wrote:
> Hi,
> Sergiy Kibrik wrote,
> 
>> hi All,
>> Recently I've been trying to use uClibc for quite old arm920t-based
>> board. Some busybox applications (like shell, mount, hostname, wget)
>> would get killed with SIGILL. I managed to debug it down to leaving
>> memcpy() routine, namely to the following code from
>> libc/string/arm/memcpy.S:
>>
>> [..]
>> .thumb_func
>> memcpy:
>>  push{r0, lr}
>>  bl  _memcpy
>>  POP_RET
>> [..]
>>
>> POP_RET defined as pop {r2, pc} in [1]. On armv4t is just won't switch
>> CPU back to arm mode, so in my case it seems to be jumping to calling
>> arm routine while still being in thumb mode.
>>
>> I'm not sure if this is the case, but I've also found couple of comments
>> in code:
>> http://git.uclibc.org/uClibc/tree/ldso/ldso/arm/resolve.S#n62
>> http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/arm/crtn.S#n10
>>
>> stating that some parts aren't even supposed to work on armv4t.
>> Has armv4t been deprecated for good (I use master branch currently)?
>> Thanks.
> 
> Does it work with uClibc 0.9.33 release?

didn't actually tried 0.9.33, as I used yocto 1.7 to build rootfs, it
fetches uclibc from master only

> What board is this?

it's Netronix eb600 (e-book reader), based on samsung s3c2440 SoC

> Are you tried running thumb-only?
> 

no, but I tried running ARM-only, and it seems to be working (though I
didn't run any tests)

--
regards,
Sergey



signature.asc
Description: OpenPGP digital signature
___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Re: is ARMv4T deprecated?

2015-04-06 Thread Waldemar Brodkorb
Hi,
Sergiy Kibrik wrote,

> hi All,
> Recently I've been trying to use uClibc for quite old arm920t-based
> board. Some busybox applications (like shell, mount, hostname, wget)
> would get killed with SIGILL. I managed to debug it down to leaving
> memcpy() routine, namely to the following code from
> libc/string/arm/memcpy.S:
> 
> [..]
> .thumb_func
> memcpy:
>   push{r0, lr}
>   bl  _memcpy
>   POP_RET
> [..]
> 
> POP_RET defined as pop {r2, pc} in [1]. On armv4t is just won't switch
> CPU back to arm mode, so in my case it seems to be jumping to calling
> arm routine while still being in thumb mode.
> 
> I'm not sure if this is the case, but I've also found couple of comments
> in code:
> http://git.uclibc.org/uClibc/tree/ldso/ldso/arm/resolve.S#n62
> http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/arm/crtn.S#n10
> 
> stating that some parts aren't even supposed to work on armv4t.
> Has armv4t been deprecated for good (I use master branch currently)?
> Thanks.

Does it work with uClibc 0.9.33 release?
What board is this?
Are you tried running thumb-only?

best regards
 Waldemar 

___
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc