Age | Commit message (Collapse) | Author |
|
Since Linux 3.11, O_TMPFILE allows to create unnamed files that can be
linked later on. It is internally defined as (O_TMPFILE | O_DIRECTORY)
to make it fail on old kernels.
Copying definitions from glibc for O_TMPFILE is not enough to support
O_TMPFILE; The open() wrapper also need to pass the mode when the flag
contains O_TMPFILE, otherwise, it will pass mode 000 which will succeed
but yield unexpected results.
openat() is curiously not affected since it passes the mode
unconditionally..
Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
|
|
The F_DUPFD_CLOEXEC flag was added in POSIX 2008.09.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
|
|
Similar to glibc commit
https://sourceware.org/git/?p=glibc.git;a=commit;h=6bbfc5c09fc5b5e3d4a0cddbbd4e2e457767dae7
we need to handle Linux kernel change, which removed stat64 family from default syscall set.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Waldemar Brodkorb <wbrodkorb@conet.de>
|
|
Sync with GNU C library. Found while trying to compile
linux-rdma to uClibc-ng.
Reported-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
|
|
Different define of latest kernel.
kernel define is
#define O_DIRECT 00040000 /* direct disk access hint */
#define O_DIRECTORY 00200000 /* must be a directory */
Yoshinori Sato <ysato@users.sourceforge.jp>
|
|
Only alpha, hppa and sparc need non-default value.
|
|
.globl can be used for every architecture so remove the define.
Sync with GNU C library.
|
|
It's even no longer required for non-ported ppc64
architecture. Sync with GNU C library.
This simplify the macros in include/libc-symbols.h.
|
|
|
|
|
|
- wire up new kernel
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
The reason truncate64 takes 4 args on some arches is that their ABI
requires 64bit values to be aligned on register pair boundaries.
Since this alignment affects more than just truncate64, rename the
define to properly document its purpose. This also allows us to
expand it to the other impacted syscalls (which will be done in a
follow up commit).
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
This matches a similar change made to glibc.
No functional changes here.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Linux 3.4 added __kernel_long_t and __kernel_ulong_t and various
exported header files were updated to use these new types. Add the
definitions for __kernel_long_t and __kernel_ulong_t to the relevant
kernel_types.h headers.
This change was automated with the following scriptlet
git grep --name-only 'typedef.*__kernel_old_dev_t' \
| xargs sed -i '/typedef.*__kernel_old_dev_t/ a\
typedef long\t\t__kernel_long_t;\
typedef unsigned long\t__kernel_ulong_t;'
Whitespace in arm, avr32, hppa, sparc was then manually fixed up.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
--
Here's a cleaned up patch which should get the whitespace right. I'm a
bit iffy about the sparc changes they make sense to me but it's not a
platform I have access to.
I can break this up per arch or per maintainer if requested.
libc/sysdeps/linux/alpha/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/arm/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/avr32/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/bfin/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/c6x/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/cris/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/e1/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/h8300/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/hppa/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/i386/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/ia64/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/m68k/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/microblaze/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/mips/bits/kernel_types.h | 4 ++++
libc/sysdeps/linux/nios2/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/powerpc/bits/kernel_types.h | 4 ++++
libc/sysdeps/linux/sh/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/sh64/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/sparc/bits/kernel_types.h | 4 ++++
libc/sysdeps/linux/v850/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/x86_64/bits/kernel_types.h | 2 ++
libc/sysdeps/linux/xtensa/bits/kernel_types.h | 2 ++
22 files changed, 50 insertions(+)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Make sure we use the new jmpbuf-*.h headers
While there, adapt the offset on microblaze and the _JMPBUF_UNWINDS macro on bfin,
it seems, these were changed in the meantime.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
|
|
Most ports have the same exact mman bit defines, so let's unify things
like the linux kernel has with the asm-generic efforts.
A few ports are left behind as they are non-trivial to merge -- the arch
maintainers can tackle it if they care.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Fill out the stat structure so that the nanosecond resolution support is
always available. There is a small code size increase for a few ports
(three additional assignments in xstatconv), but otherwise everything
should remain the same.
While we're here, punt __old_kernel_stat from the few headers that still
define it as it is unused in uClibc and causes compile errors after these
nanosecond changes.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The majority of the byteswap functions are the same across all arches, so
setup a common header to provide definitions if they don't exist. This
allows arches to override only the ones they actually want to implement
with inline assembly.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Make sure each arch has the same complete list to make comparing between
them easier.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
ustat: same, + remove superfluous "conversion"
which does nothing at best, loses high dev bits at worst
i386/bits/kernel_stat.h: update to reflect reality (wider dev_t)
h8300/bits/kernel_stat.h: same
arm/bits/kernel_stat.h: cosmetics to match kernel header to the letter
|
|
|
|
|
|
|
|
Tested successfully on i386..
|
|
|
|
|
|
- synch F_LINUX_SPECIFIC_BASE related fcntls for all arches
|
|
a problem where the linker was trying to use the wrong symbol name for the
init function.
Define SYMBOL_PREFIX as _ in Rules.mak for h8300, bfin, i960,
microblaze, and v850. Add -D__UCLIBC_UNDERSCORES__ in CFLAGS for targets
which define SYMBOL_PREFIX as _. Remove defines and undefs from
uClibc_arch_features.h of each target.
Add $(SYMBOL_PREFIX) to __uClibc_init when passed by ld option -init.
|
|
doing double negatives
|
|
applications stop using _syscall#() and use syscall() instead. Cleanup
internal handling of syscall includes to use the correct header file.
|
|
minor include file issues
|
|
based profiling I nuked ages ago since tools like oprofile are non invasive
and work so much better.
|
|
|
|
|
|
|
|
specific header file to make porting/updates a lot easier
|
|
|
|
make sure we are only included by setjmp.h and pthread.h, and fix casting of address/jumpbugf in _JMPBUF_UNWINDS
|
|
|
|
|
|
'__kernel_old_dev_t'. And of course there is no good way to know
which is in use except checking linux/version.h. Grumble.
This is rather lame, but for now, define __kernel_old_dev_t to be
the same as __kernel_dev_t. This will want to be revisited soon.
-Erik
|
|
|
|
type of 'struct stat' and 'struct stat64' so they use consistant types.
This change is the result of a bug I found while trying to use GNU tar. The
problem was caused by our using kernel types within struct stat and trying to
directly compare these values with standard types. Trying an 'if (a < b)' when
'a' is an 'unsigned long' and 'b' is an 'int' leads to very different results
then when comparing entities of the same type (i.e. time_t values)....
Grumble. Nasty stuff, but I'm glad I got this out of the way now.
As a result of this fix, uClibc 0.9.17 will not be binary compatible with
earlier releases. I have always warned people this can and will happen.
-Erik
|
|
|
|
|
|
|
|
|