Age | Commit message (Collapse) | Author |
|
of failure instead of -1 and setting errno, according to SuSv3
(IEEE Std 1003.1 2004 edition) specification.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Tested successfully on i386..
|
|
|
|
__extern_inline macro, this also makes gcc 4.3 happy.
(Taken from NPTL branch)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
instead of relying upon getdents64.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
|
|
compile-tested only, fixes
libc/misc/statfs/fstatfs64.c:29: error: 'fstatfs' undeclared here (not in a function)
|
|
|
|
otherwie some errno will be missed (i.e. ENOKEY used in libusb)
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
like
o UCLIBC_HAS_GNU_ERROR
o UCLIBC_HAS_BSD_ERR
o UCLIBC_HAS_PTY
o UCLIBC_HAS_GETPT (1)
o UCLIBC_SYSCALL_STUBS
o UCLIBC_SYSCALL_STUB_WARNING
o UCLIBC_LINUX_SPECIFIC (2)
o UCLIBC_BSD_SPECIFIC (3)
o UCLIBC_NTP_LEGACY (4)
o UCLIBC_SV4_DEPRECATED (5)
o UCLIBC_HAVE_REALTIME (6)
o UCLIBC_HAVE_ADVANCED_REALTIME (7)
o UCLIBC_HAVE_EPOLL (8)
o UCLIBC_HAVE_XATTR (9)
o UCLIBC_HAVE_PROFILING (10)
(1) make non-standard getpt optional and implement standard posix_openpt
(2) fstatfs(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(),
personality()
ppoll(), setresuid()
(3) mincore(), getdomainname(), setdomainname()
(4) ntp_adjtime(), ntp_gettime() aliases
(5) ustat() [use statfs(2) in your code instead]
(6) All marked as "(REALTIME)" in SUSv3
(7) All marked as "(ADVANCED REALTIME)" in SUSv3
(8) epoll_create(), epoll_ctl(), epoll_wait()
(9) all Extended Attributes
(10) helpers for gcc's -finstrument-functions
- Fixes _dl_exit()
- Implements sleep(3) for !UCLIBC_HAVE_REALTIME
- Implements usleep(3) for !UCLIBC_HAVE_REALTIME
- adds #warning about incorrect posix_fadvise{,64}()
- removes unused and unwanted uselib()
Net outcome is that an allnoconfig with HAVE_SHARED is now about 88k instead
of formerly 130k.
|
|
sources separately for now.
|
|
For -combine, make sure that we don't pollute our non-varargs mremap decl
with some vararg decl from later in the TU by putting ours after anybody
else who is picking up mman.h.
This is admittedly a small work-around..
smallish testcase:
$ cat bug.h
extern void *mremap (void*, unsigned, unsigned, int, ...);
$ cat bug1.c
#include "bug.h"
int whatever;
$ cat bug2.c
#define mremap _hidemremap
#include "bug.h"
#undef mremap
void *mremap (void*, unsigned, unsigned, int, void*);
$ gcc -c bug1.c bug2.c
$ gcc -c bug1.c bug2.c -combine
bug2.c:4: error: conflicting types for ‘mremap’
bug.h:1: error: previous declaration of ‘mremap’ was here
|
|
|
|
|
|
|
|
were removed in linux-2.6
|
|
|
|
in string.h and strings.h. This caught unguarded string ops in
libc/inet/ethers.c __ether_line_w() function.
I will wait for fallout reports for a week or so,
then continue converting more libc_hidden_proto's.
|
|
- pull bits/fcntl.h from glibc (Timo Teräs)
|
|
The only code change observed is actually a case
where we were not doing that as needed:
00000000 <__GI_tzset>:
-53 push %ebx
-e8 00 00 00 00 call 6 <__GI_tzset+0x6>
-5b pop %ebx
-81 c3 03 00 00 00 add $0x3,%ebx
- R_386_GOTPC _GLOBAL_OFFSET_TABLE_
6a 00 push $0x0
-e8 fc ff ff ff call 10 <__GI_tzset+0x10>
- R_386_PLT32 time
+e8 fc ff ff ff call 3 <__GI_tzset+0x3>
+ R_386_PC32 __GI_time
3d ff 4e 98 45 cmp $0x45984eff,%eax
0f 9e c0 setle %al
0f b6 c0 movzbl %al,%eax
50 push %eax
-e8 fc ff ff ff call 21 <__GI_tzset+0x21>
+e8 fc ff ff ff call 14 <__GI_tzset+0x14>
R_386_PC32 _time_tzset
58 pop %eax
5a pop %edx
-5b pop %ebx
c3 ret
No mass migration of libc_hidden_proto(foo) planned.
Lets wait for potential fallout first.
|
|
|
|
|
|
|
|
skinkie in #2194
|
|
|
|
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
|
|
|
|
generalizes what Blackfin was already doing)
|
|
|
|
|
|
getcwd syscall has an off-by-one allocation bug. As a result, sometimes the returned string has garbage at the end.
|
|
Jean-Christian de Rivaz writes:
The attached patch solve an issue I faced while using the libdbus-glib
waiting for a D-Bus message or the end of a glib timer at the same time.
This specific case of use generate a poll call with a zero timeout. On
platformes with the glibc a zero timeout poll return immetiately even if
there is no file descriptor event. But on platformes with uClibc a zero
timeout poll block until a file descriptor event occurs.
|
|
|
|
Make msync.c agree on this.
|
|
them enabled, so let's go all the way. There was a quick discussion on IRC about making the max baud rate configurable. That requires a bunch of #ifdef salting throughout all of the 'termios.h' files for the pre-processor to chew on. I'm going to pass on that for now.
|
|
http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html
states it returns error code instead of setting errno.
|
|
I actually suspect this code into the file uClibc/libc/sysdeps/linux/common/poll.c:
tval.tv_nsec = (timeout % 1000) *1000; <==== make only usec!
From milisecond this really needs a * 1000000 to make nanosecond. Without this
a 1100 milisecond timeout is converted into a 1 seconde and 100 microsecond
timeout! This can explain the weird result of the test code.
|
|
|
|
|
|
|
|
emulate poll with ppoll.
|
|
again, this makes the non-threaded case compile again. I have no idea
if this is the proper fix, I'm just tired if it not compiling for two
weeks.
|
|
Import INTERNAL_SYSCALL macro for i386 from glibc.
Use above macro in posix_fadvise implementation if an arch defines it.
|
|
|
|
|
|
|
|
protect its use by #ifdef INTERNAL_SYSCALL since not all
arch's has INTERNAL_SYSCALL.
All arch's not having INTERNAL_SYSCALL in
libc/sysdeps/linux/<arch>/bits/syscalls.h should get an update
from glibc.
|