OSDN Git Service
Chris Zankel [Wed, 20 Feb 2008 00:30:54 +0000 (00:30 -0000)]
Xtensa: Provide an architecture specific sigaction and sa_restorer function in libc to avoid having to place executable code on stack.
Signed-off-by: Chris Zankel <chris@zankel.net>
Mike Frysinger [Sat, 16 Feb 2008 08:33:48 +0000 (08:33 -0000)]
posix_fadvise64 on 64bit systems take 5 arguments, not 6, as pointed out by skinkie in #2194
Mike Frysinger [Sat, 16 Feb 2008 08:24:02 +0000 (08:24 -0000)]
fix typo pointed out by skinkie in #2194
Denis Vlasenko [Tue, 12 Feb 2008 20:31:44 +0000 (20:31 -0000)]
add hidden_proto's for __uc_malloc
(patch by Bernd Schmidt <bernds_cb1 at t-online.de>)
Bernd Schmidt [Tue, 12 Feb 2008 13:23:19 +0000 (13:23 -0000)]
Use DL_RELOC_ADDR when dealing with DL_LOADADDR_TYPE types. Fixes gnu-hash
compilation on Blackfin.
Chris Zankel [Mon, 11 Feb 2008 23:16:35 +0000 (23:16 -0000)]
Omit adding 'OUTPUT_FORMAT' to the libc.so linker script if the architecture
didn't provide one (Xtensa, for example, is such an architecture).
Signed-off-by: Chris Zankel <chris@zankel.net>
Bernd Schmidt [Fri, 8 Feb 2008 13:43:39 +0000 (13:43 -0000)]
Fix the recent dladdr changes so that they compile on FD-PIC targets.
Carmelo Amoroso [Thu, 7 Feb 2008 16:17:14 +0000 (16:17 -0000)]
Added AI_NUMERICSERV flag and check if the string is not just a number
when AI_NUMERICSERV flag set.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Carmelo Amoroso [Thu, 7 Feb 2008 07:06:49 +0000 (07:06 -0000)]
Fix stack overflow in _ppfs_parsespec
Chris Zankel [Tue, 5 Feb 2008 23:04:09 +0000 (23:04 -0000)]
Add myself as the maintainer for the Xtensa architecture.
Signed-off-by: Chris Zankel <chris@zankel.net>
"Steven J. Hill" [Sat, 26 Jan 2008 23:13:37 +0000 (23:13 -0000)]
Filter out '-std=gnu99' when running the assembler. This causes an error
when building MIPS that looks like this:
libc/string/mips/memcpy.S:156:1: pasting "memcpy" and ":" does not give
a valid preprocessing token
make[1]: *** [libc/string/mips/memcpy.os] Error 1
Even if this does not cause an error on other architectures, this option
should not be having an effect on preprocessed assembly code.
Mike Frysinger [Wed, 23 Jan 2008 16:56:52 +0000 (16:56 -0000)]
give execlp() its own cache on no-mmu to avoid recursive cache fighting
Bernhard Reutner-Fischer [Tue, 22 Jan 2008 16:09:01 +0000 (16:09 -0000)]
- fix file permissions
Carmelo Amoroso [Tue, 22 Jan 2008 15:37:32 +0000 (15:37 -0000)]
Test case to exploit dladdr bug
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Bernhard Reutner-Fischer [Sat, 19 Jan 2008 19:30:04 +0000 (19:30 -0000)]
- forgot to add include/fenv.h
Bernhard Reutner-Fischer [Sat, 19 Jan 2008 15:26:17 +0000 (15:26 -0000)]
- wrap superlong lines
Bernhard Reutner-Fischer [Sat, 19 Jan 2008 15:23:14 +0000 (15:23 -0000)]
- add C99 floating point environment, rounding and exception handling functions
for i386. UCLIBC_HAS_FENV
Bernd Schmidt [Fri, 18 Jan 2008 13:53:10 +0000 (13:53 -0000)]
L1 memory support for the Blackfin. A couple new syscalls to manage L1
allocations, dma_memcpy to move stuff between L1 and main memory, and a new
structure to describe the global data in L1 scratchpad memory.
Bernd Schmidt [Fri, 18 Jan 2008 13:46:58 +0000 (13:46 -0000)]
Update dl-inlines.h from Blackfin repository.
Carmelo Amoroso [Fri, 18 Jan 2008 13:14:19 +0000 (13:14 -0000)]
This patch solves a problem in dladdr caused by the wrong value
of elf_resolve's loadaddr field for the main application.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Bernd Schmidt [Fri, 18 Jan 2008 02:22:25 +0000 (02:22 -0000)]
A patch from our Blackfin repository, originally from Mike Frysinger.
Add sysdeps/linux/$(TARGET_ARCH) to the list of includes. Needed by some of
the Blackfin specific string assembly files.
Bernd Schmidt [Fri, 18 Jan 2008 02:21:09 +0000 (02:21 -0000)]
Another piece needed for FD-PIC. This compiles another startfile, crtreloc.o,
if necessary.
Bernhard Reutner-Fischer [Thu, 17 Jan 2008 21:47:59 +0000 (21:47 -0000)]
- fix compilation:
In file included from toolchain_build_i386/gcc-3.4.6/libiberty/hashtab.c:49:
build_i386/staging_dir/i386-linux-uclibc/sys-include/malloc.h:193: error: ISO C forbids data definition with no type or storage class
Bernhard Reutner-Fischer [Thu, 17 Jan 2008 20:59:33 +0000 (20:59 -0000)]
- fix linking.
We use the compiler-driver and not ld.
Bernhard Reutner-Fischer [Thu, 17 Jan 2008 19:53:46 +0000 (19:53 -0000)]
- use libm_DIR and libm_OUT
Bernhard Reutner-Fischer [Thu, 17 Jan 2008 19:35:32 +0000 (19:35 -0000)]
- remove unused file
Bernhard Reutner-Fischer [Thu, 17 Jan 2008 19:29:02 +0000 (19:29 -0000)]
bits/sysnum.h needs a cross compiler to be built. Fortunately, this
header is not needed to build gcc. Move generation of this header.
(Yann E. MORIN)
Bernd Schmidt [Thu, 17 Jan 2008 19:11:18 +0000 (19:11 -0000)]
A patch from our Blackfin repository, originally from Jie Zhang. This fixes
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.
Bernhard Reutner-Fischer [Wed, 16 Jan 2008 20:00:57 +0000 (20:00 -0000)]
- check for -nostdlib
Carmelo Amoroso [Sat, 12 Jan 2008 17:59:10 +0000 (17:59 -0000)]
Make sh4 build works again adding a temporary work-around
iby redefining __always_inline to inline until gcc 4.x.x will get
fixed.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Sat, 12 Jan 2008 08:20:18 +0000 (08:20 -0000)]
Make sh4 build works again adding a temporary work-around
iby redefining __always_inline to inline until gcc 4.x.x will get
fixed.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Mike Frysinger [Fri, 11 Jan 2008 09:14:21 +0000 (09:14 -0000)]
cull useless headers and import a few updates from glibc
Peter Kjellerstedt [Fri, 11 Jan 2008 09:03:27 +0000 (09:03 -0000)]
Use poll() rather than select() if the former is available to wait in
__dns_lookup(). This avoids segmentation faults when more than 1024
file descriptors are used by an application.
Bernhard Reutner-Fischer [Wed, 9 Jan 2008 17:13:57 +0000 (17:13 -0000)]
- Fix compilation: semtimedop has 4 args (and not 6)
Mike Frysinger [Wed, 9 Jan 2008 07:07:37 +0000 (07:07 -0000)]
fetch queue.h from latest freebsd cvs
Mike Frysinger [Wed, 9 Jan 2008 06:59:58 +0000 (06:59 -0000)]
fix broken whitespace in many places; no functional changes
Mike Frysinger [Wed, 9 Jan 2008 05:54:25 +0000 (05:54 -0000)]
add workaround for gcc-3.4.6 with mips
Mike Frysinger [Wed, 9 Jan 2008 05:53:04 +0000 (05:53 -0000)]
no need to delete the binary upon failure
Mike Frysinger [Wed, 9 Jan 2008 05:49:44 +0000 (05:49 -0000)]
Daniel Jacobowitz writes:
MontaVista noticed that when their kernels were configured to trap on unaligned
access gethostbyname_r could mysteriously crash. I tracked this down to an
unaligned buffer being passed to gethostbyname_r from some other part of uClibc
(afraid I don't remember where from any more). We have to pad the beginning of
the buffer to a pointer alignment before we store pointers in it.
Bernd Schmidt [Tue, 8 Jan 2008 23:24:30 +0000 (23:24 -0000)]
Some more Blackfin/FDPIC ldso merging work. Include dl-inlines.h when it
exists, and move some definitions to their proper place.
Mike Frysinger [Tue, 8 Jan 2008 19:23:54 +0000 (19:23 -0000)]
change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when doing double negatives
Mike Frysinger [Tue, 8 Jan 2008 17:01:48 +0000 (17:01 -0000)]
the _dl_errno extern already exists in common headers, so no need for a local one
Hans-Christian Egtvedt [Tue, 8 Jan 2008 11:41:22 +0000 (11:41 -0000)]
Added Hans-Christian Egtvedt as maintainer for the AVR32 architecture
Paul Mundt [Tue, 8 Jan 2008 09:51:19 +0000 (09:51 -0000)]
Update the TODO reflecting the sh64 changes.
Paul Mundt [Tue, 8 Jan 2008 09:40:02 +0000 (09:40 -0000)]
Switch sh64 to use __uClibc_main and the new register layout.
This was one of the stragglers still bent on __uClibc_start_main
utilization, now it's only FR-V.
Paul Mundt [Tue, 8 Jan 2008 08:45:26 +0000 (08:45 -0000)]
sh64 uses a 32-bit ABI, don't bother with lib64 silliness.
Paul Mundt [Tue, 8 Jan 2008 08:44:43 +0000 (08:44 -0000)]
Bring sh64 support back from the dead.
Mike Frysinger [Tue, 8 Jan 2008 07:12:41 +0000 (07:12 -0000)]
test to make sure the buffers used by the gethost*_r functions handle misaligned scratch buffers
Mike Frysinger [Tue, 8 Jan 2008 06:44:19 +0000 (06:44 -0000)]
fix memory corruption on no-mmu from doing multiple execls where earlier execls fail by simply not releasing the memory reserved for the arguments of children processes
Mike Frysinger [Sun, 6 Jan 2008 00:04:02 +0000 (00:04 -0000)]
use the __extern_always_inline define from cdefs.h instead of duplicating gcc version checking in every pt-machine.h header ... while __extern_always_inline should work fine, i think what is intended is __extern_inline ... should double check later
Mike Frysinger [Sat, 5 Jan 2008 23:27:35 +0000 (23:27 -0000)]
this code does not actually rely on INTERNAL_SYSCALL
Mike Frysinger [Sat, 5 Jan 2008 22:52:13 +0000 (22:52 -0000)]
add info for elf.h, ldd.c, readelf.c, and MAINTAINERS
Mike Frysinger [Sat, 5 Jan 2008 16:45:06 +0000 (16:45 -0000)]
sync with glibc to get the extern inline directive
Bernhard Reutner-Fischer [Sat, 5 Jan 2008 11:24:00 +0000 (11:24 -0000)]
- fixup gnu_inline vs. C99 inline
- add missing header guards while at it
Mike Frysinger [Sat, 5 Jan 2008 10:40:51 +0000 (10:40 -0000)]
update my e-mail address
Mike Frysinger [Sat, 5 Jan 2008 10:40:03 +0000 (10:40 -0000)]
if an arch does not provide __NR_mmap, fall back to __NR_mmap2 (this just generalizes what Blackfin was already doing)
Mike Frysinger [Sat, 5 Jan 2008 10:05:27 +0000 (10:05 -0000)]
Chris Zankel writes:
The following patches add support for the Xtensa processor architecture
to uClibc. They are based on a recent SVN checkout (12/05/2007).
The first patch (attached to this post) adds Xtensa support to various
shared configuration and make files. The following patches then include
the Xtensa specific files and directories.
I welcome any feedback and would appreciate it if you could include the
patches into the mainline tree. I am certainly committed to maintain the port.
Bob Wilson was kind enough to review the patches.
Some notes about the architecture: Xtensa is a configurable and
extensible processor architecture developed by Tensilica. For more
information, please visit: www.linux-xtensa.org.
Mike Frysinger [Sat, 5 Jan 2008 09:27:37 +0000 (09:27 -0000)]
patch from Hans-Christian Egtvedt to silence some spurious signed warnings
Mike Frysinger [Sat, 5 Jan 2008 09:24:45 +0000 (09:24 -0000)]
whitespace only: touchups from Hans-Christian Egtvedt
Mike Frysinger [Sat, 5 Jan 2008 09:22:58 +0000 (09:22 -0000)]
patch from Mats Erik Andersson for better catching edge cases in optimized string functions
Mike Frysinger [Sat, 5 Jan 2008 08:59:09 +0000 (08:59 -0000)]
add BOTHER define from termios2
Mike Frysinger [Sat, 5 Jan 2008 08:34:38 +0000 (08:34 -0000)]
give EM_AVR32 a little comment
Mike Frysinger [Sat, 5 Jan 2008 08:16:23 +0000 (08:16 -0000)]
Brian Austin writes: This patch adds MAVERICK CRUNCH FPU support for the Cirrus Logic EP93XX ARM9 Procs.
Mike Frysinger [Sat, 5 Jan 2008 08:08:26 +0000 (08:08 -0000)]
not everyone is a ninja: explicitly state that people should convert from sys_errlist[] to strerror()
Mike Frysinger [Sat, 5 Jan 2008 08:00:33 +0000 (08:00 -0000)]
whitespace only: fix indentation
Mike Frysinger [Sat, 5 Jan 2008 07:18:36 +0000 (07:18 -0000)]
blah, enable the stupid hidden proto for fcntl
Mike Frysinger [Sat, 5 Jan 2008 07:16:35 +0000 (07:16 -0000)]
krichy writes in 292:
I noticed, that in libc/misc/syslog/syslog.c when the syslog socket is opened, the close-on-exec flag is not set, as it is in gnu libc.
This enables that behavior.
Mike Frysinger [Sat, 5 Jan 2008 07:06:08 +0000 (07:06 -0000)]
zen in #938 writes:
I had occasion to look at the uClibc script "getent" and felt compelled to clean out the cargo-cult programming style. I believe that this version is clearer, and I've added some minor features while I was in there:
* usage clause, if no arguments or "--help" requested
* original version appears to have been intending to "exit 2" on failure to match, but didn't
* basic, probably good enough, support for ethers and netgroups
* faster ;-) [as if that matters for this script]
Mike Frysinger [Sat, 5 Jan 2008 06:47:30 +0000 (06:47 -0000)]
implement semtimedop for #927
Mike Frysinger [Sat, 5 Jan 2008 06:46:28 +0000 (06:46 -0000)]
pop -m32 onto LDFLAGS/CFLAGS to make building on x86_64 multilib systems transparent
Mike Frysinger [Sat, 5 Jan 2008 06:07:49 +0000 (06:07 -0000)]
michael_d writes in 1879:
When no TIOCGPTN definition is present in the kernel headers, the library's ptsname() function will not work.
The libc/stdlib/ptsname_r.c file is the problem. This file includes a complicated nest of #if directives. One of these #if's has the opposite sense from what is required.
Mike Frysinger [Sat, 5 Jan 2008 06:03:12 +0000 (06:03 -0000)]
michael_d writes in #1869: make sure GNU error functions output 'program: ' as documented in the function api
Mike Frysinger [Sat, 5 Jan 2008 05:55:23 +0000 (05:55 -0000)]
michael_d writes in #1874:
On an i386 platform with no rt_sigsuspend syscall (ie: Linux 2.0), compilation will halt on libc/sysdeps/linux/common/sigsuspend.os with a cryptic error message:
"Error: non-constant expression in ".if" statement"
I've investigated and found that the cause is that a literal '0' is being passed into a block of complex assembler macrology that is only prepared to deal with register names - '%eax', etc.
In turn, that seems to be because of a typo in the GCC register constraints. The constraints for 2 and 3-argument syscalls includes a "C" constraint. To gcc, "C" means an SSE floating point constant -- an unlikely element in a syscall. I suspect the author meant to type "S" (%esi).
Mike Frysinger [Sat, 5 Jan 2008 05:32:09 +0000 (05:32 -0000)]
michael_d in #1849 writes: The getcwd() implementation in the absence of a getcwd syscall has an off-by-one allocation bug. As a result, sometimes the returned string has garbage at the end.
Mike Frysinger [Sat, 22 Dec 2007 12:18:44 +0000 (12:18 -0000)]
plug a memory leak when using execl* functions on no-mmu
Mike Frysinger [Sat, 22 Dec 2007 06:28:23 +0000 (06:28 -0000)]
mark a bunch of public mem/str functions as weak so that people who insist on their own local copies while static linking dont hit link failures when other uClibc code force the libc.a objects to be pulled in via the hidden alias symbols
Mike Frysinger [Sat, 22 Dec 2007 06:23:15 +0000 (06:23 -0000)]
add hidden defs for execv/execlp for completeness
Mike Frysinger [Sat, 8 Dec 2007 00:59:10 +0000 (00:59 -0000)]
import trunc()/truncf() for ISO C requirements, otherwise fortran can hit infinite loops when it generates builtins+trunc() substitutes
Carmelo Amoroso [Fri, 7 Dec 2007 14:42:06 +0000 (14:42 -0000)]
Removed pointless initialization to 0 of DIR fields
after having added memset.
Thanks to Peter Mazinger for pointing this out.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Fri, 7 Dec 2007 14:24:06 +0000 (14:24 -0000)]
I don't remember exactly why we decided to pick the caller's value of
sa_restorer when SA_ONSTACK is set, but it seems to break LTP's
sigaltstack testcase. Some users have reported problems with
sigaltstack as well; hopefully this will fix it.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Carmelo Amoroso [Wed, 5 Dec 2007 17:25:04 +0000 (17:25 -0000)]
Fix opendir problem when statically linked due to a missing
initialization of the mutex field within DIR struct.
When linked dynamically instead, __pthread_mutex_init will
initialize the mutex itself. Without this fix, any call to
readdir will stuck forever trying to acquire the mutex.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Bernd Schmidt [Tue, 4 Dec 2007 02:14:39 +0000 (02:14 -0000)]
Blackfin FD-PIC patch 6/6.
These are mostly the changes necessary to deal with loading the libraries
into memory. A couple new target macros are defined for this purpose, and
the code in dl-elf.c is modified to deal with nommu systems.
Bernd Schmidt [Mon, 3 Dec 2007 23:13:10 +0000 (23:13 -0000)]
Fix a few warnings introduced by my previous commits.
Bernd Schmidt [Mon, 3 Dec 2007 23:10:14 +0000 (23:10 -0000)]
Blackfin FD-PIC patches 5/6.
A couple more target macros for ld.so to deal with FD-PIC support. We need
special code to compute the initial got and dpnt, and we need to pass extra
arguments to _dl_get_ready_to_run.
Bernd Schmidt [Mon, 3 Dec 2007 23:01:56 +0000 (23:01 -0000)]
Blackfin FD-PIC patch 4/6.
Add a hash table for function descriptors on FD-PIC targets.
Bernd Schmidt [Mon, 3 Dec 2007 22:54:16 +0000 (22:54 -0000)]
Blackfin FD-PIC patch 3/6.
Change _dl_find_hash to _dl_lookup_hash, as on the NPTL branch.
_dl_find_hash is now a wrapper function around it; unlike on the NPTL branch,
it retains the old interface so that not all callers need to be changed.
_dl_lookup_hash can optionally give its caller a pointer to the module where
the symbol was found.
Introduce ELF_RTYPE_CLASS_DLSYM for lookups from libdl.
Spelling fixes in the Blackfin port, since Alex Oliva's original version of
these patches used _dl_find_hash_mod as the name of the function rather than
_dl_lookup_hash.
Bernd Schmidt [Mon, 3 Dec 2007 22:46:53 +0000 (22:46 -0000)]
Blackfin FD-PIC patch 2/6.
Add the necessary changes in ld.so and libdl to deal with targets that
prepend an underscore to symbol names.
Bernd Schmidt [Mon, 3 Dec 2007 22:41:36 +0000 (22:41 -0000)]
Blackfin FD-PIC patch 1/6.
Add a new function _dl_free. In _dl_malloc, ensure we always get back a full
page from mmap.
Reset _dl_malloc_function and _dl_free_function when libdl is initialized.
Carmelo Amoroso [Mon, 3 Dec 2007 20:58:30 +0000 (20:58 -0000)]
Some versions of gcc consider inline merely a hint. AVR32 depends on the
system calls actually being inlined, so AVR32 needs to use
__always_inline instead of just inline. The attached patch changes this
for the system calls.
Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
Denis Vlasenko [Mon, 3 Dec 2007 08:59:12 +0000 (08:59 -0000)]
realpath: reduce stack usage from 3*PATH_MAX (12k) to 1*PATH_MAX (4k).
reduction is achieved by direct use of user-supplied PATH_MAX sized
buffer for result (without intermediate copy) and changes
in copy_buf[] usage - now it is used for both "source" pathname
and link name (it works because they have to be less than PATH_MAX combined,
otherwise we return NULL).
Bernd Schmidt [Wed, 28 Nov 2007 18:03:45 +0000 (18:03 -0000)]
Fix merging error: a macro was renamed.
Bernd Schmidt [Fri, 23 Nov 2007 18:05:55 +0000 (18:05 -0000)]
Blackfin crt1.S fixes for building with -msep-data.
Bernd Schmidt [Fri, 23 Nov 2007 18:03:47 +0000 (18:03 -0000)]
Add some necessary Makefile bits for UCLIBC_FORMAT_FLAT_SEP_DATA.
Bernd Schmidt [Fri, 23 Nov 2007 18:02:12 +0000 (18:02 -0000)]
Some shared flat improvements.
Fix minor errors:
- UCLIBC_SHARED_FLAT_ID instead of SHARED_FLAT_ID
- use -Wl,-shared-lib-id properly
Use libc_so.a as the source for the shared libc, in order to be able to
use -mleaf-id-shared-library on the Blackfin.
Bernd Schmidt [Fri, 23 Nov 2007 17:57:32 +0000 (17:57 -0000)]
Add necessary Makefile rules for the Blackfin.
Bernd Schmidt [Fri, 23 Nov 2007 17:28:17 +0000 (17:28 -0000)]
A better atomic ops implementation for the Blackfin, relying on a feature
present in our recent kernels.
Bernd Schmidt [Fri, 23 Nov 2007 17:19:02 +0000 (17:19 -0000)]
mcontext_t shouldn't have a version argument, and fix REG_B0 definition.
Bernd Schmidt [Fri, 23 Nov 2007 17:14:20 +0000 (17:14 -0000)]
From Jie Zhang:
__bswap_16 could not assume that it's zero extended when an unsigned short int is loaded into the data register.
Bernd Schmidt [Fri, 23 Nov 2007 17:09:54 +0000 (17:09 -0000)]
Change test for a define that got renamed a while ago.
Carmelo Amoroso [Fri, 23 Nov 2007 13:23:25 +0000 (13:23 -0000)]
Disable tst-ftime_l test if Extended Locale Support
is not enabled, otherwise build will fail
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>