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

Reply via email to