Age | Commit message (Collapse) | Author |
|
Fix a regression introduced by commit
0550ecce0e6580c5ad34e9a9a39ff18ccf8774f9
Reported by Buildroot developers.
Embedded test must be extented to ARMv7 thumb2 builds to
find such regressions next time. It wasn't triggered by a
cortex-m4 ARM noMMU build.
|
|
In uClibc-ng the syscall macros are in bits/syscalls.h.
|
|
|
|
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; \
...
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Sync with GNU libc, see here why r7 is not usable for
thumb mode:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/arm/sysdep.h;h=37eac192b1e2e7f53f112b16450b9ce57054e27f;hb=HEAD
Remove old OABI support.
Fixes build breakage for ARM noMMU builds.
Still no runtime testing.
|
|
warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
libc/inet/socketcalls.c: In function ‘__libc_recvfrom’:
libc/inet/socketcalls.c:229:1: warning: declaration of ‘_sys_result’
shadows a previous local
libc/inet/socketcalls.c:229:1: warning: shadowed declaration is here
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
This patch is a uClibc equivalent of
<http://sourceware.org/ml/libc-ports/2008-11/msg00006.html>, to
compute all syscall arguments on ARM in temporary variables before
loading them into register variables. The principle is as for that
glibc patch; the problem I actually observed was a GCC internal
compiler error building ld.so for Thumb-2.
Signed-off-by: Joseph Myers <joseph@codesourcery.com>
|
|
Declare common NCS (non-constant syscall) variants and convert the existing
ports over to this.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Unify all the common syscall defines in syscalls-common.h and scrub all
the duplicated code from relevant ports. This should also make converting
existing ports to INLINE_SYSCALL() much easier as they don't have to get
lost in all the unrelated noise, as well as creating new ports.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
|
|
Repair C89 compliance and severe whitespace-defects while at it.
|
|
|
|
|
|
applications stop using _syscall#() and use syscall() instead. Cleanup
internal handling of syscall includes to use the correct header file.
|
|
INTERNAL_SYSCALL macro which saves r7 before making the call and pops it back after return.
|
|
|
|
|
|
|
|
This is a work round for a fairly serious GCC compiler bug - when
the syscall assembler overwrites r7 (required on thumb) the
compiler fails to protect the register when it is using it as a
frame pointer.
|
|
|
|
|
|
|
|
-Erik
|
|
|
|
-Erik
|
|
Prepare to kill the UNIFIED_SYSCALL option and instead have it be
a per arch thing that is either enabled or not for that arch.
-Erik
|
|
|