OSDN Git Service

uclinux-h8/uClibc.git
13 years agoinitialize tls_tpnt to NULL on all archs
Peter S. Mazinger [Sat, 26 Feb 2011 18:09:46 +0000 (19:09 +0100)]
initialize tls_tpnt to NULL on all archs

Initialize tls_tpnt to NULL on all archs instead of 0.

Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
13 years agodisable build warnings in utils
Peter S. Mazinger [Sat, 26 Feb 2011 17:52:21 +0000 (18:52 +0100)]
disable build warnings in utils

Disable some build warnings in utils.

Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
13 years agoguard IPv6 stuff
Peter S. Mazinger [Sat, 26 Feb 2011 17:45:19 +0000 (18:45 +0100)]
guard IPv6 stuff

disable IPv6 related stuff if feature is disabled.

Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
13 years agoadd UCLIBC_STRICT_HEADERS config option
Peter S. Mazinger [Sat, 26 Feb 2011 17:28:19 +0000 (18:28 +0100)]
add UCLIBC_STRICT_HEADERS config option

Add config option to disable the visibility of structures/constants
that should not be visible unless a feature is enabled.

Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
13 years agoinclude features.h
Peter S. Mazinger [Sat, 26 Feb 2011 17:15:29 +0000 (18:15 +0100)]
include features.h

include features.h to make the next ifdef work.

Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
13 years agoldso: use ADDR_ALIGN instead of hard-coded value
Carmelo Amoroso [Thu, 3 Mar 2011 08:22:15 +0000 (09:22 +0100)]
ldso: use ADDR_ALIGN instead of hard-coded value

Use ADDR_ALIGN to align the minvma when loading shared libraries instead
of the hard coded 0xffffU value.
This fixes teh stand/alone support on ARM as reported in bug #3133.

Signed-off-by: Sven Ola <sven-ola@gmx.de>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agonptl:arm: add a wrapper for .cfi_sections pseudo-ops
Carmelo Amoroso [Mon, 7 Feb 2011 17:03:36 +0000 (18:03 +0100)]
nptl:arm: add a wrapper for .cfi_sections pseudo-ops

ARM disables by default the support for ASM CFI directives.
Anyway using an old version of binutils that does not support some new
pseudo-op, the build fails as below:

  AS libpthread/nptl/sysdeps/unix/sysv/linux/close.oS
libpthread/nptl/sysdeps/unix/sysv/linux/close.S: Assembler messages:
libpthread/nptl/sysdeps/unix/sysv/linux/close.S:9: Error: unknown pseudo-op: `.cfi_sections'

The problem is that the .cfi_sections pseudo should be wrapped by a macro
that expands to nothing when the CFI is off.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
CC: Khem Ray <ray.khem@gmail.com>
13 years agolinuxthreads.old: fix nommu initial thread stack detection
Mike Frysinger [Mon, 21 Feb 2011 22:19:35 +0000 (17:19 -0500)]
linuxthreads.old: fix nommu initial thread stack detection

Because the nommu address space is flat, and the application stack can
literally be located anywhere, we cannot rely on the assumptions that the
mmu port gets away with.  Namely, that the first thread's stack lives at
the top of memory and nothing will be created above it.

Currently, the code rounds the current stack up a page and sets that as
the "top" of the stack, and then marks the "bottom" of the stack as "1".
Then as new threads are created, this assumption is further refined by
slowly backing off the "bottom" when a new stack is created within the
range of the initial stack.

Simple ascii example (tid0 is the initial thread):

1 thread:
 [bos          tid0 stack           tos]

2 threads:
                 [     tid0 stack      ]
      [tid1 stack]

3 threads:
                 [     tid0 stack      ]
      [tid1 stack]
                                            [tid2 stack]

As you can kind of see, this algorithm operates on one basic assumption:
the initial top of stack calculation is the absolute top of the stack.
While this assumption was fairly safe in the original nommu days of yore
where the only file format was FLAT (which defaults to a 4KiB stack --
exactly 1 page), and memory was fairly tight, we can see that this falls
apart pretty quickly as soon as the initial stack is larger than a page.

The issue that crops up now is simple to hit: start an application with
an 8KiB stack, execute some functions that put pressure on the stack so
that it exceeds 4KiB, then start up some threads.  The initial tos will
be rounded up by a page, but this is actually the middle of the stack.
Now when the initial thread returns from its functions (thus unwinding
the stack) and tries to call something which calls back into libpthread,
the thread_self() func fails to detect itself as the initial thread as
the current stack is now above the tos.  The __pthread_find_self() func
kicks in, walks all the thread arrays, fails to find a hit, and then
walks into uninitialized memory for the thread descriptor.  Use of this
garbage memory has obvious results -- things fall down & go boom.

To address this, I extend the current algorithm to automatically scale
back both the bottom and the top stack limits of the initial thread.
We use the current stack pointer at "thread boot time" only as a single
known point.  The initial thread stack bottom is set to the bottom of
memory and the initial thread stack top is set to the top of memory.
Then as we create new stack threads, we figure out whether the new stack
is above or below the single known good address, and then scale back
either the tos or the bos accordingly.

Reviewed-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agounify stub logic
Mike Frysinger [Thu, 23 Jul 2009 05:11:38 +0000 (01:11 -0400)]
unify stub logic

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agobfin: fix fp reference in _JMPBUF_UNWINDS
Mike Frysinger [Tue, 22 Feb 2011 21:23:23 +0000 (16:23 -0500)]
bfin: fix fp reference in _JMPBUF_UNWINDS

We want to access the frame pointer, so do so directly rather than
"overflowing" the pregs array and ending up at the fp member.

This fixes the Blackfin build warnings:
libpthread/linuxthreads.old/ptlongjmp.c: In function 'pthread_cleanup_upto':
libpthread/linuxthreads.old/ptlongjmp.c:35: warning: array subscript is above array bounds
libpthread/linuxthreads.old/ptlongjmp.c:56: warning: array subscript is above array bounds

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agotempname: fix int precision warnings
Mike Frysinger [Tue, 22 Feb 2011 02:29:58 +0000 (21:29 -0500)]
tempname: fix int precision warnings

The printf precision takes an integer, not a size_t.  Otherwise we get:

libc/misc/internals/tempname.c: In function '___path_search':
libc/misc/internals/tempname.c:116: warning:
field precision should have type 'int', but argument 3 has type 'size_t'
field precision should have type 'int', but argument 5 has type 'size_t'

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agonptl: imit waitpid just for MIPS O32
Bernhard Reutner-Fischer [Tue, 22 Feb 2011 17:12:26 +0000 (18:12 +0100)]
nptl: imit waitpid just for MIPS O32

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoldso: fix fdpic builds
Mike Frysinger [Tue, 22 Feb 2011 01:25:29 +0000 (20:25 -0500)]
ldso: fix fdpic builds

Commit 33cb7f0b4 tried to add a small optimization for skipping unnecessary
.dynamic adjustments, but did so by referencing an opaque type.  While this
works for non-fdpic targets (since the type can be cast to an integer), it
falls apart for fdpic targets where the type is actually a structure.

Since FDPIC can't support this optimization without walking a series of
linked structures, just skip it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agobfin: add support for new cacheflush syscall
Steve Kilbane [Tue, 22 Feb 2011 00:44:42 +0000 (19:44 -0500)]
bfin: add support for new cacheflush syscall

Newer gcc's will generate a call to cacheflush when updating jump tables,
and that has to be done in kernel space (to avoid hardware anomalies).  So
make sure uClibc provides that symbol.

Signed-off-by: Steve Kilbane <steve@whitecrow.demon.co.uk>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agobfin: fix sram/dma syscall definitions
Steve Kilbane [Tue, 22 Feb 2011 00:43:32 +0000 (19:43 -0500)]
bfin: fix sram/dma syscall definitions

Once we pull in the header, we're forced to declare the syscall with
all the right types.

Signed-off-by: Steve Kilbane <steve@whitecrow.demon.co.uk>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agobfin: add missing GNU-stack markings to __longjmp
Mike Frysinger [Tue, 22 Feb 2011 00:38:39 +0000 (19:38 -0500)]
bfin: add missing GNU-stack markings to __longjmp

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agobuildsys: fix inverted logic with thread impls
Bernhard Reutner-Fischer [Wed, 16 Feb 2011 18:31:06 +0000 (19:31 +0100)]
buildsys: fix inverted logic with thread impls

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agobuildsys: use kbuild style
Bernhard Reutner-Fischer [Mon, 14 Feb 2011 19:54:57 +0000 (20:54 +0100)]
buildsys: use kbuild style

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agobuildsys: remove wrong file
Bernhard Reutner-Fischer [Sun, 13 Feb 2011 17:31:27 +0000 (18:31 +0100)]
buildsys: remove wrong file

Somehow Makefile.in ended in there, remove it.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoarm: use EABI per default
Bernhard Reutner-Fischer [Sun, 13 Feb 2011 15:45:43 +0000 (16:45 +0100)]
arm: use EABI per default

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoregex: remove set but not used variable
Bernhard Reutner-Fischer [Sun, 13 Feb 2011 15:19:12 +0000 (16:19 +0100)]
regex: remove set but not used variable

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoldso: remove now unused variable
Bernhard Reutner-Fischer [Sun, 13 Feb 2011 15:09:00 +0000 (16:09 +0100)]
ldso: remove now unused variable

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agonptl: fix typo in buildsys
Bernhard Reutner-Fischer [Sun, 13 Feb 2011 14:56:30 +0000 (15:56 +0100)]
nptl: fix typo in buildsys

0f85b228 used 'filter-pout' instead of 'filter-out'. Fix that.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoFORMAT_FDPIC_ELF: only for FRV and BFIN
Bernhard Reutner-Fischer [Sun, 13 Feb 2011 14:50:48 +0000 (15:50 +0100)]
FORMAT_FDPIC_ELF: only for FRV and BFIN

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoFix memory leak in dlopen()/dlclose().
Philip Craig [Tue, 8 Feb 2011 06:11:38 +0000 (16:11 +1000)]
Fix memory leak in dlopen()/dlclose().

The linked list of library dependencies created by dlopen() was not
being freed by dlclose().

Signed-off-by: Philip Craig <philipjcraig@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoFix GNU make v3.80 compatibility
Kevin Cernekee [Thu, 10 Feb 2011 22:30:55 +0000 (14:30 -0800)]
Fix GNU make v3.80 compatibility

Commits 1f6601a and 094d82d introduced the "else ifeq" construct, which
requires GNU make v3.81 or higher.  This breaks the build on RHEL4 hosts.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoarm: use CAS gcc builtin if SI-mode pattern is available
Bernhard Reutner-Fischer [Fri, 11 Feb 2011 16:26:19 +0000 (17:26 +0100)]
arm: use CAS gcc builtin if SI-mode pattern is available

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoTODO: update
Bernhard Reutner-Fischer [Wed, 9 Feb 2011 19:47:27 +0000 (20:47 +0100)]
TODO: update

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoi386: extend IMA guards to also cover LTO
Bernhard Reutner-Fischer [Wed, 9 Feb 2011 19:21:12 +0000 (20:21 +0100)]
i386: extend IMA guards to also cover LTO

See GCC PR47577; TODO: Remove them.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years ago*printf: Violation of precision with null string
Jones Desougi [Thu, 10 Jun 2010 13:04:51 +0000 (15:04 +0200)]
*printf: Violation of precision with null string

When a string format is processed and the argument is NULL, this yields
"(null)" regardless of precision. This does not make sense, precision
should not be exceeded. A simple test shows that glibc outputs nothing
if precision is smaller than six and the attached patch implements this
same behaviour.

Consider the not uncommon case of strings implemented like this:
struct string { int len; char *ptr; };
There is often no nultermination and they may be printed like this:
printf("%.*s", string.len, string.ptr);
If len is 0 then ptr may be anything, but NULL is a common value.
Obviously the empty string would be expected, not "(null)".

Signed-off-by: Jones Desougi <jones.desougi@27m.se>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agosync bits/socket.h PF_* / AF_* values with 2.6.38-rc3
Peter Korsgaard [Wed, 2 Feb 2011 16:58:38 +0000 (17:58 +0100)]
sync bits/socket.h PF_* / AF_* values with 2.6.38-rc3

A number of new address / protocol families have been added over the
years, so sync with Linux 2.6.38-rc3, adding CAN, ISDN, Phonet, Zigbee, ..
which are starting to be used by applications.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoarm: mv nptl specific atomic impl to common place
Bernhard Reutner-Fischer [Wed, 9 Feb 2011 19:08:20 +0000 (20:08 +0100)]
arm: mv nptl specific atomic impl to common place

Thanks to Nitin Garg for notincing!

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agofix a problem with hidden getutent in non-threaded builds
Denys Vlasenko [Sun, 6 Feb 2011 22:51:23 +0000 (23:51 +0100)]
fix a problem with hidden getutent in non-threaded builds

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
13 years agoarm: fix the static link problem for ARM due to undefined __tls_get_addr
Nitin Garg [Wed, 2 Feb 2011 01:30:23 +0000 (19:30 -0600)]
arm: fix the static link problem for ARM due to undefined __tls_get_addr

Signed-off-by: Nitin Garg <nitingarg98@gmail.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agonios2: Name architecture correctly in endian.h header
Tobias Klauser [Tue, 1 Feb 2011 16:38:07 +0000 (17:38 +0100)]
nios2: Name architecture correctly in endian.h header

Nios II is not i386 :-)

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agonptl/mips64: Fix build when using mips64 and ABIs other than o32
Khem Raj [Sat, 29 Jan 2011 17:14:53 +0000 (09:14 -0800)]
nptl/mips64: Fix build when using mips64 and ABIs other than o32

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agomips: avoid segmentation fault when RLD_MAP is 0
Richard Braun [Fri, 28 Jan 2011 17:18:54 +0000 (18:18 +0100)]
mips: avoid segmentation fault when RLD_MAP is 0

Signed-off-by: Richard Braun <rbraun@sceen.net>
Acked-by: Joakim Tjernlund <joakim.tjernlund@transmode.se>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agolibc: fix linker script generation for libubacktrace.so
Filippo Arcidiacono [Tue, 25 Jan 2011 11:50:23 +0000 (12:50 +0100)]
libc: fix linker script generation for libubacktrace.so

Fix libc.so linker script generation to add libubacktrace AS_NEEDED entry
using MULTILIB_DIR instead of hard-coded "lib".

Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agostdio: fix diagnostic message
Bernhard Reutner-Fischer [Thu, 20 Jan 2011 08:15:21 +0000 (09:15 +0100)]
stdio: fix diagnostic message

harmless copy'n paste error in #error

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agobump version to 0.9.32-rc2-git
Carmelo Amoroso [Fri, 21 Jan 2011 07:22:32 +0000 (08:22 +0100)]
bump version to 0.9.32-rc2-git

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agorelease 0.9.32-rc2
Carmelo Amoroso [Thu, 20 Jan 2011 14:49:47 +0000 (15:49 +0100)]
release 0.9.32-rc2

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agonptl: Fix __USER_LABEL_PREFIX__ concatenatio
Will Newton [Thu, 20 Jan 2011 14:31:14 +0000 (15:31 +0100)]
nptl: Fix __USER_LABEL_PREFIX__ concatenatio

The current C macro magic does not correctly concatenate the
__USER_LABEL_PREFIX__ string on architectures where it has a
non-empty value. We need to use __stringify to get the desired
behaviour.

Signed-off-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agonptl: fix start_thread() for _STACK_GROWS_UP
Will Newton [Thu, 20 Jan 2011 14:26:14 +0000 (15:26 +0100)]
nptl: fix start_thread() for _STACK_GROWS_UP

This patch adds a working implementation of pthread_create for architectures
where STACK_GROWS_UP.

Signed-off-by: Matt Fleming <matthew.fleming@imgtec.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agoldso: get rid of _dl_lookup_hash
Carmelo Amoroso [Wed, 12 Jan 2011 11:07:39 +0000 (12:07 +0100)]
ldso: get rid of _dl_lookup_hash

Now _dl_find_hash and _dl_lookup_hash are exactly the same, we can get rid
of the _dl_lookup_hash, reverting the _dl_find_hash from a wrapper of
_dl_lookup_hash to its original role.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agoAdd protected symbols support for all architectures
Salvatore Cro [Wed, 12 Jan 2011 09:27:16 +0000 (10:27 +0100)]
Add protected symbols support for all architectures

Protected symbols are global symbols for which interposition is not allowed.
We manage them in generic _dl_lookup_hash function. To handle protected symbols
we need to get a reference to the module that defines the symbol itself.
So we pass a new parameter 'struct symbol_ref' to the __dl_lookup_hash
that is defined as below:

struct symbol_ref {
  const ElfW(Sym) *sym;
  struct elf_resolve *tpnt;
};

The tpnt field is used as an ouput parameter and refers to the module which defines
the protected symbol.
Further it can be used as output parameter for TLS relocations and FDPIC case.
The sym field is instead used as an input parameter to detect the visibility of the
symbol we are looking-up.
In this way we get rid of different signatures for _dl_lookup_hash, allowing to remove
the _dl_find_hash wrapper.
This new structure is also suitable for prelink integration.

Signed-off-by: Salvatore Cro <salvatore.cro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agoRevert "ldso/arm: Correct protected symbol resolution"
Carmelo Amoroso [Thu, 20 Jan 2011 13:47:46 +0000 (14:47 +0100)]
Revert "ldso/arm: Correct protected symbol resolution"

This reverts commit 48fb264beaac8114e5ac3e80e70dda473fbce96d.
The generic implementation will cover all the architectures handling
the protected symbols in _dl_lookup_hash [ldso/ldso/dl-hash.c]

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agoRevert "ldso_sh: add support for protected symbols to SH"
Carmelo Amoroso [Thu, 20 Jan 2011 13:47:14 +0000 (14:47 +0100)]
Revert "ldso_sh: add support for protected symbols to SH"

This reverts commit 74407db52d3953c7f3c6b8a53661cfc96cb07e22.
The generic implementation will cover all the architectures handling
the protected symbols in _dl_lookup_hash [ldso/ldso/dl-hash.c]

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agoRevert "ldso/i386: support protected symbols"
Carmelo Amoroso [Thu, 20 Jan 2011 13:46:44 +0000 (14:46 +0100)]
Revert "ldso/i386: support protected symbols"

This reverts commit ba38f0cec27b91cc7c605417ad047c4dc77d732f.
The generic implementation will cover all the architectures handling
the protected symbols in _dl_lookup_hash [ldso/ldso/dl-hash.c]

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agocris: Fix build issues
Khem Raj [Sun, 16 Jan 2011 00:21:43 +0000 (16:21 -0800)]
cris: Fix build issues

Thanks Waldemar Brodkorb for reporting

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agosyslog: fix 'everyone logs with user facility'
Roman I Khimov [Thu, 23 Dec 2010 08:57:49 +0000 (11:57 +0300)]
syslog: fix 'everyone logs with user facility'

It's been found that on uclibc-based system most of the programs log with
'user' facility despite the calls to openlog() with other facilities explicitly
set. Most but not all. Investigating that I've found that the ones logging with
proper facilities used LOG_NDELAY in openlog(). The problem is that LogFacility
is overwritten in openlog_intern and LOG_USER is passed to it from vsyslog() no
matter what the program set with openlog().

Signed-off-by: Roman I Khimov <khimov@altell.ru>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years ago__psfs_parse_spec: always use long int for %p
Bernhard Reutner-Fischer [Tue, 11 Jan 2011 18:46:56 +0000 (19:46 +0100)]
__psfs_parse_spec: always use long int for %p

closes bug #3037
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agobuildsys: headers target should not depend on sysnum.h
Carmelo Amoroso [Wed, 5 Jan 2011 13:38:13 +0000 (14:38 +0100)]
buildsys: headers target should not depend on sysnum.h

The generation of the sysnum.h has to be a prerequisite of
'pregen' target instead of headers, because it needs the compiler
already available.
The so called C bootstrap headers are required to build the compiler
by invoking 'make headers', so the 'headers' target cannot relies itself
on the compiler to be invoked.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agobuildsys: fix make release target
Carmelo Amoroso [Thu, 6 Jan 2011 07:28:34 +0000 (08:28 +0100)]
buildsys: fix make release target

According to git man page the syntax for git archive should have
the <tree-ish> as last argument. Indeed using git 1.5.5.6 the tarball
was not properly created. Newer version (i.e. 1.6.3.3) works fine even if
HEAD comes before other option. For backward compatibility use a syntax
that is fine with older git.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agonptl: get rid of the last preprocessor warning when __ASSUME_TGKILL is not defined
Carmelo Amoroso [Wed, 5 Jan 2011 16:22:25 +0000 (17:22 +0100)]
nptl: get rid of the last preprocessor warning when __ASSUME_TGKILL is not defined

A missing change in the previous commit.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agoremove uClibc_ctype.h if !LOCALE
Bernhard Reutner-Fischer [Wed, 5 Jan 2011 08:06:10 +0000 (09:06 +0100)]
remove uClibc_ctype.h if !LOCALE

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoRevert "Makefile.in: Add header to 'all' target"
Bernhard Reutner-Fischer [Wed, 5 Jan 2011 08:03:28 +0000 (09:03 +0100)]
Revert "Makefile.in: Add header to 'all' target"

The respective source has to depend on a given set of headers.
Depending all on headers is papering over an eventual missing other
dependency, so reverting.

This reverts commit 4d81f2a74578f819285b131c682e8d2f6c315c4e.

13 years agonptl: get rid of preprocessor warning when __ASSUME_TGKILL is not defined
Carmelo Amoroso [Tue, 4 Jan 2011 13:16:50 +0000 (14:16 +0100)]
nptl: get rid of preprocessor warning when __ASSUME_TGKILL is not defined

A sample of the warning reported while building for ARM that has not __ASSUME_TGKILL defined.

libpthread/nptl/sysdeps/unix/sysv/linux/raise.c: In function 'raise':
libpthread/nptl/sysdeps/unix/sysv/linux/raise.c:33:5: warning: "__ASSUME_TGKILL" is not defined

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agolibc/inet/netlinkaccess.h: Use the types from kernel
Khem Raj [Sun, 2 Jan 2011 06:59:00 +0000 (22:59 -0800)]
libc/inet/netlinkaccess.h: Use the types from kernel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agosparc: fix linking issue with __syscall_error.c
Austin Foxley [Thu, 30 Dec 2010 01:49:59 +0000 (17:49 -0800)]
sparc: fix linking issue with __syscall_error.c

Finally got around to testing out latest master and
noticed that some buildsystem work last summer broke
shared-builds of nptl on sparc.

A version of __syscall_error.c needs to be linked into
both libpthread and librt

Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
13 years agosparc: check for log double support in gcc
Konrad Eisele [Tue, 14 Dec 2010 12:49:17 +0000 (13:49 +0100)]
sparc: check for log double support in gcc

To compile the quad float emulation library gcc needs
__LONG_DOUBLE_128__ macro defined. Check first, if not
supported then revert to the qp_ops.c stubs

Signed-off-by: Konrad Eisele <konrad@gaisler.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agolinuxthreads: Fix compilation breakage
Matt Fleming [Mon, 15 Nov 2010 15:34:18 +0000 (15:34 +0000)]
linuxthreads: Fix compilation breakage

With commit "resolv.c: add support for per thread res_state"
(aab4df0fb51660300559f5f29290709db2f7bfee) _res symbol is now marked
as hidden in an attempt to make the resolver per-thread.

Signed-off-by: Matt Fleming <matthew.fleming@imgtec.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agolibpthread/nptl_db: Append options to LDFLAGS based on if LD is set to gcc driver...
Khem Raj [Wed, 22 Dec 2010 03:29:50 +0000 (19:29 -0800)]
libpthread/nptl_db: Append options to LDFLAGS based on if LD is set to gcc driver or ld itself

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agoMakefile.in: Add header to 'all' target
Khem Raj [Sun, 19 Dec 2010 05:51:06 +0000 (21:51 -0800)]
Makefile.in: Add header to 'all' target

Stage bits/uClibc_ctype.h when locales are enabled

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agoextra/locale/Makefile: Consider the case of building out of sourcedir
Khem Raj [Sun, 19 Dec 2010 05:08:58 +0000 (21:08 -0800)]
extra/locale/Makefile: Consider the case of building out of sourcedir

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agosem_open.c/sem_unlink.c: Use INTUSE macro to get proper function call to __pthread_once
Khem Raj [Sat, 18 Dec 2010 16:09:25 +0000 (08:09 -0800)]
sem_open.c/sem_unlink.c: Use INTUSE macro to get proper function call to __pthread_once

We need to use __pthread_once_internal if available this macro is
therefore used to notify that.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agonptl: If DOPIC is set then we missed a rule to generate .os variants for pt-*.c files
Khem Raj [Sat, 18 Dec 2010 16:08:05 +0000 (08:08 -0800)]
nptl: If DOPIC is set then we missed a rule to generate .os variants for pt-*.c files

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agoinstall_headers: Fix the header installation when using out of source
Khem Raj [Fri, 17 Dec 2010 08:54:50 +0000 (00:54 -0800)]
install_headers: Fix the header installation when using out of source
build ( O=/x/y/z )

Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agobump version to 0.9.32-rc1-git
Bernhard Reutner-Fischer [Fri, 17 Dec 2010 19:05:56 +0000 (20:05 +0100)]
bump version to 0.9.32-rc1-git

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agorelease 0.9.32-rc1
Bernhard Reutner-Fischer [Fri, 17 Dec 2010 19:05:17 +0000 (20:05 +0100)]
release 0.9.32-rc1

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agolibm_sh: add optimised assembly implementation of lroundf and lrintf
Christian Bruel [Fri, 17 Dec 2010 08:58:25 +0000 (09:58 +0100)]
libm_sh: add optimised assembly implementation of lroundf and lrintf

* libc/sysdeps/linux/sh/sysdep.h: Add LOCAL macro
* libm/sh/sh4/Makefile.arch: Include asm source in the build
* libm/sh/sh4/s_lrintf.S [NEW]: optimised asm lrintf
* libm/sh/sh4/s_lroundf.S [NEW]: optimised asm lroundf

Signed-off-by: Christian Bruel <christian.bruel@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agolibm_powerpc: update buildsys to use TARGET_SUBARCH
Carmelo Amoroso [Fri, 17 Dec 2010 07:30:33 +0000 (08:30 +0100)]
libm_powerpc: update buildsys to use TARGET_SUBARCH

Update the powerpc buildsys of libm to use the TARGET_SUBARCH.
Further fix the e500 Makefile.arch by adding the definition
of libm_ARCH_fpu_DIR that was actually missing.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agolibm_sh: Move fenv functions into sh4 sub-folder
Carmelo Amoroso [Fri, 17 Dec 2010 07:11:12 +0000 (08:11 +0100)]
libm_sh: Move fenv functions into sh4 sub-folder

Indeed fenv funxtions are SH4 specific, so move them into
an SH4 specific sub-folder.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agosh_fpu: Do not allow inclusion of fpu_control on not SH4 core
Carmelo Amoroso [Wed, 15 Dec 2010 17:00:16 +0000 (18:00 +0100)]
sh_fpu: Do not allow inclusion of fpu_control on not SH4 core

Instead of emitting a warning even when compiling for SH4, stop
compilation with an #error directive when not on SH4 core.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agosh: fix memcpy saving/restoring FR12-FR15 registers
Giuseppe Cavallaro [Mon, 13 Dec 2010 10:39:36 +0000 (11:39 +0100)]
sh: fix memcpy saving/restoring FR12-FR15 registers

This patch fixes a bug in the memcpy that doesn't save/restore
the FR12-FR15 registers (callee save registers in ST40 ABI) while
copying many cache lines with FPU in single paired precision mode
and by using all FPU registers (DR and XD).

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Reviewed-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agonptl: fix Unwind_Resume PLT calls
Timo Teräs [Tue, 7 Dec 2010 09:27:29 +0000 (11:27 +0200)]
nptl: fix Unwind_Resume PLT calls

My change a49b3a18e463cbe8c94c41501e386e7f4c61609e fixed two
Unwind_Resume calls to go via PLT to avoid text relocations for PIC
builds. However, it looks the reason for upstream not using PLT calls
is that ebx gets clobbered. So we need to reload it.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
13 years agogetconf: only use specs that are available
Thomas Petazzoni [Sat, 4 Dec 2010 09:29:42 +0000 (10:29 +0100)]
getconf: only use specs that are available

On older glibc (like 2.7), the _SC_V7_* symbols are not defined,
making the build of current uClibc fail on Debian Lenny systems and
other systems using a fairly old glibc. So we make sure to only use
the specs names that are defined by the host C library.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agocreate DEVEL_PREFIX/MULTILIB_DIR dir rather than DEVEL_PREFIX/lib
Natanael Copa [Tue, 24 Aug 2010 08:19:27 +0000 (08:19 +0000)]
create DEVEL_PREFIX/MULTILIB_DIR dir rather than DEVEL_PREFIX/lib

This fixes issue with GNU Make 3.82 when running:

 make install DESTDIR=$someplace

Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
13 years agoConfig.sparc: remove warning about shared libs on v7
Austin Foxley [Wed, 1 Dec 2010 23:32:41 +0000 (15:32 -0800)]
Config.sparc: remove warning about shared libs on v7

Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
13 years agolibc: fix strtoq
Natanael Copa [Fri, 26 Nov 2010 14:49:56 +0000 (14:49 +0000)]
libc: fix strtoq

strtoq should always return a quad_t and be an alias of strtol on
64 bit and strtoll on 32 bit.

Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agolibc_sh: add __tls_get_addr to static libc (SH)
Filippo Arcidiacono [Mon, 29 Nov 2010 22:31:49 +0000 (23:31 +0100)]
libc_sh: add __tls_get_addr to static libc (SH)

Add __tls_get_addr function to static libc allowing to handle
local dynamic TLS access model.
On SH, linker optimizations are not required, so __tls_get_addr
can be called even in statically linked binaries.

Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agoRevert "libc_tls: Do not include generic libc-tls from arch specific implementation"
Carmelo Amoroso [Wed, 1 Dec 2010 16:04:05 +0000 (17:04 +0100)]
Revert "libc_tls: Do not include generic libc-tls from arch specific implementation"

This reverts commit 0c468129356f5ce6780e7369c271d74631ae03ba.
Indeed recent updates into buildsys managed to filter-out generic implementation
when arch specific one is defined, so duplicated symbols into the libc.a

In the meanwhile, do a minor fix into mips version not using relative path
to include <generic/libc-tls.c>

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agolibc_tls: Do not include generic libc-tls from arch specific implementation
Carmelo Amoroso [Mon, 29 Nov 2010 21:21:52 +0000 (22:21 +0100)]
libc_tls: Do not include generic libc-tls from arch specific implementation

libpthread/nptl/sysdeps/generic/libc-tls.c is built as well, so it does not need
that arch specific version of libc-tls.c (MIPS and ALPHA) includes it.
The arch libc-tls.s is aimed to provide the implementation of __tls_get_addr
for the static libc.a, because on these archs the linker relaxations are not
required and it could be possible to have local-dynamic access models in static
libraries as well.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agolibc_utmp: Fix getutmp and getutmpx for x86_64
Carmelo Amoroso [Sun, 28 Nov 2010 19:44:21 +0000 (20:44 +0100)]
libc_utmp: Fix getutmp and getutmpx for x86_64

On x86_64, when WORDSIZE_COMPAT32 is enabled, the ut_tv field
of 'struct utmp' and 'struct utmpx' are defined as two nested structs
instead of being defined as 'struct timeval', so it is not possible to
directly assign the two ut_tv values.
This patch split the assignment by setting each fields (tv_sec, tv_usec)
of the ut_tv filed separately
It is als compatible with 'struct timeval' usage.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
13 years agoRevert "ldso: silence warning about unused tls var if !tls"
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 22:03:03 +0000 (23:03 +0100)]
Revert "ldso: silence warning about unused tls var if !tls"

This reverts commit 23fa805150d573a913cad69d34c06f3b2ce54270.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoConfig: default ia32 to i486
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 22:02:11 +0000 (23:02 +0100)]
Config: default ia32 to i486

NPTL requires i486 on ia32 since i386 doesn't provide required lll

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agolibc: silence warning
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 21:46:02 +0000 (22:46 +0100)]
libc: silence warning

about implicit declaration of memset in system()

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoldso: silence warning about unused tls var if !tls
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 21:33:01 +0000 (22:33 +0100)]
ldso: silence warning about unused tls var if !tls

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoconfig_parser: hide symbols
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 20:06:38 +0000 (21:06 +0100)]
config_parser: hide symbols

Our impl has diverged from busybox' so make sure nobody else uses it.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agotest: ignore some more binaries
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 19:54:51 +0000 (20:54 +0100)]
test: ignore some more binaries

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agowchar: bug #1471: fix cornercase in mbrtowc
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 19:51:46 +0000 (20:51 +0100)]
wchar: bug #1471: fix cornercase in mbrtowc

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agobuildsys: add make {,install_}startfiles
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 19:21:58 +0000 (20:21 +0100)]
buildsys: add make {,install_}startfiles

This builds and installs the crt files.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agotest/math: bessel depend on XSI_MATH
Bernhard Reutner-Fischer [Wed, 24 Nov 2010 19:20:47 +0000 (20:20 +0100)]
test/math: bessel depend on XSI_MATH

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoresolv.c fails for /etc/hosts lookups
Philip Nye [Fri, 19 Nov 2010 16:50:35 +0000 (16:50 +0000)]
resolv.c fails for /etc/hosts lookups

Patch attached:

Fix a bug in offset calculations when parsing /etc/hosts in resolv.c.

Formerly a miscalculation meant that having found the correct line, the code
was trashing its own result data.

Signed-off-by: Philip Nye <philipn@engarts.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agoDisables the automatic disable of shared library for sparc-v7.
Konrad Eisele [Thu, 18 Nov 2010 18:32:37 +0000 (10:32 -0800)]
Disables the automatic disable of shared library for sparc-v7.

I dont see a dependency between shared library and v7.
The difference between v7 and v8 is that in v8 you have
the added math asm-insns: smul/umul/udiv/sdiv/urem.
It shouldnt affect shared libraries creation.

Signed-off-by: Konrad Eisele <konrad@gaisler.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
13 years agoAdding quad float gcc intrinsic implementation for SPARC
Austin Foxley [Thu, 18 Nov 2010 18:20:43 +0000 (10:20 -0800)]
Adding quad float gcc intrinsic implementation for SPARC

Sparc-Gcc generates q_xxx intrinsic calls for quad float ("long double")
code. The routines from glibc's glibc-2.9/sysdeps/sparc/sparc32/soft-fp/*
where taken and ported to uclibc.

Signed-off-by: Konrad Eisele <konrad@gaisler.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
13 years agontpl: fix static linking by not leaking SSP_ALL_CFLAGS
Natanael Copa [Thu, 11 Nov 2010 15:54:19 +0000 (15:54 +0000)]
ntpl: fix static linking by not leaking SSP_ALL_CFLAGS

The SSP_ALL_CFLAGS in nptl arch CFLAGS leaks out and forces things
like dl-support.c, brk.c, sbrk.c memcpy, etc to be built with
-fstack-protector-all. This is bad when linking statically since
initializing TLS will call those functions before SSP is initialized.

The libpthread itself will still be built with -fstack-protector-all
due to CFLAGS-nptl has SSP_ALL_CFLAGS in libpthread/nptl/Makefile.in

Thanks to Timo Teras for helping with this.

Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agonptl: use correct unwind header for unwind-forcedunwind
Bernhard Reutner-Fischer [Wed, 10 Nov 2010 19:10:46 +0000 (20:10 +0100)]
nptl: use correct unwind header for unwind-forcedunwind

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agomicroblaze: build infrastructure
Steven J. Magnani [Wed, 10 Nov 2010 18:41:45 +0000 (19:41 +0100)]
microblaze: build infrastructure

Fix Microblaze config and makefiles.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agomicroblaze: thread support
Steven J. Magnani [Wed, 10 Nov 2010 18:37:26 +0000 (19:37 +0100)]
microblaze: thread support

Header files needed to build linuxthreads.old for microblaze.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
13 years agomicroblaze: optimized memcpy/memmove
Steven J. Magnani [Wed, 10 Nov 2010 18:33:52 +0000 (19:33 +0100)]
microblaze: optimized memcpy/memmove

Port optimized memcpy/memmove from the kernel.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>