Age | Commit message (Collapse) | Author |
|
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>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The sbrk() function can be used to merely query sizes and for that, no-mmu
works the same as mmu. It can also sometimes increase data segments on
no-mmu systems provided the trailing memory is free. So, there is no real
reason to exclude this function for no-mmu ports.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The entry symbol is __start rather than __dl_boot. While in the past this
was silently ignored, now with common code checking the _start symbol in C
code, we end up with link errors:
ldso/ldso/ld-uClibc_so.a(ldso.oS): In function `__dl_get_ready_to_run':
ldso/ldso/ldso.c:(.text+0x2b30): undefined reference to `__start'
collect2: ld returned 1 exit status
make[1]: *** [lib/ld-uClibc.so] Error 1
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
This was making them appear in sanitized headers.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
The dlpi_addr isn't a simple Elf_Addr type for FDPIC systems, so we can't
just assign 0 to it to initialize.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The Blackfin port hasn't been compiling cleanly, so this typo was missed
in the byteswap unification commit.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The order of attributes in a function definition matters and in a few
places in the Blackfin code, it was being applied to the return type
instead of the function itself.
In file included from ldso/ldso/ldso.c:43:
ldso/ldso/bfin/elfinterp.c: At top level:
ldso/ldso/bfin/elfinterp.c:42: warning: '__visibility__' attribute ignored on non-class types
In file included from ldso/ldso/bfin/elfinterp.c:341,
from ldso/ldso/ldso.c:43:
libc/sysdeps/linux/bfin/crtreloc.c: At top level:
libc/sysdeps/linux/bfin/crtreloc.c:91: warning: 'visibility' attribute ignored on non-class types
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The Blackfin port never defined elf_machine_load_address() because the one
place this code is called never matters to us. But without it, common code
likes to hit a build failure, so stub it out.
ldso/ldso/dl-startup.c: In function '_dl_start':
ldso/ldso/dl-startup.c:170: warning: implicit declaration of function 'elf_machine_load_address'
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The force shareable code missed a spot of using the DL_RELOC_ADDR()
indirection thus leading to invalid operands:
ldso/ldso/ldso.c: In function '_dl_get_ready_to_run':
ldso/ldso/ldso.c:409: error: invalid operands to binary +
(have 'Elf32_Addr' and 'struct elf32_fdpic_loadaddr')
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
In file included from ./ldso/include/ldso.h:135,
from ldso/ldso/ldso.c:34:
./ldso/ldso/bfin/dl-inlines.h: In function '__dl_init_loadaddr_map':
./ldso/ldso/bfin/dl-inlines.h:43: warning: assignment makes pointer from integer without a cast
In file included from ldso/ldso/ldso.c:43:
ldso/ldso/bfin/elfinterp.c: In function '_dl_do_lazy_reloc':
ldso/ldso/bfin/elfinterp.c:299: warning: assignment makes pointer from integer without a cast
ldso/ldso/ldso.c: In function '_dl_get_ready_to_run':
ldso/ldso/ldso.c:534: warning: assignment makes integer from pointer without a cast
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
These match the kernel/etc... pieces already merged.
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Since we stub out the installed bits/syscalls.h, the installed
bits/syscalls-common.h header is completely useless.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Rather than force people to always implement their own vfork(), have the
default implementation be sane.
For now, only the Blackfin port uses the new code.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The register is already loaded for us upon entry by the kernel.
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
openat64() uses openat(), so we need hidden aliases for it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Sometimes references for these functions show up (like when debugging is
enabled), so add hidden aliases for them if needed.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
If pthread_join() is called and there is nothing to join, then the debug
code will attempt to dereference a NULL pointer.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
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>
|
|
Undo my old mistake. I added UCLIBC_INTERNAL define,
but later I realized _LIBC is doing exactly the same thing.
This change converts all usages of UCLIBC_INTERNAL to _LIBC,
removing all instances of UCLIBC_INTERNAL.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
libc/sysdeps/linux/mips/clone.S: Assembler messages:
libc/sysdeps/linux/mips/clone.S:122: Warning: No .frame pseudo-op used in PIC code
libc/sysdeps/linux/mips/clone.S:75: Warning: Pretending global symbol used as branch target is local.
libc/sysdeps/linux/mips/crt1.S: Assembler messages:
libc/sysdeps/linux/mips/crt1.S:134: Warning: No .cprestore pseudo-op used in PIC code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
These arches are generic C implementations of the byteswap functions, so
rather than keep a useless local copy, use the common C one.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The cris/hppa code appears to be easy to convert, so go ahead and do it
for them. Build tested only.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Work with pre-sysroot compilers that have kernel headers available in the
standard location, and let people force the location manually.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
A port or two (like hppa) does define ENOTSUP, so don't assume that
everyone needs this fallback define.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The INLINE_SYSCALL_NCS() macro was using "res" and "err" as local variable
names, but this caused conflicts with some code (like clock_getres) whose
arguments were named the same.
libc/sysdeps/linux/common/clock_getres.c: In function 'clock_getres':
libc/sysdeps/linux/common/clock_getres.c:15: warning: 'res' is used uninitialized in this function
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The libc_pthread_init.c needs the include workaround like forward.c, and
forward.c needs more includes now.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
If an arch (like alpha and others) have no ldso support at all, then there
is no point in attempting to walk loaded modules in the dl-* helper funcs.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The latest sanitized linux kernel headers no longer export asm/elf.h, so do
not rely on it anymore.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The latest alpha Linux kernel defines __NR_fdatasync like everyone else and
deprecates the older __NR_osf_fdatasync, so support that setup.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Tested basic functionality with coreutils and things seem to work. At
least gives us a basis to jump from.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
This syncs the dirent related functions with the glibc behavior -- rather
than take void pointers everywhere, make the struct dirent pointers
explicit in the API. After all, the functions themselves will cast the
pointers to a dirent structure, so if it isn't as expected, people will
crash.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Avoid gcc warnings about #if statements with defines that aren't defined.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
The basic C standard requires a few wchar types, so provide those even when
wchar support is disabled.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
We want to let malloc() and friends be overridable at runtime so that apps
can insert their own implementation (think debugging, specialized setups,
etc...). That means that C library functions that return allocated memory
have to go through the normal malloc() symbol as well as the external code
is the one who will be calling free().
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|