OSDN Git Service
Henning Heinold [Sat, 4 Jun 2011 19:21:41 +0000 (21:21 +0200)]
libc: flesh out linux scheduler functions
Most stuff was taken from the eglibc.
Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Timo Teräs [Mon, 7 Nov 2011 17:08:33 +0000 (18:08 +0100)]
ldso: support RTLD_NOLOAD
So application query if specified module is loaded or not with
dlopen.
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Mon, 7 Nov 2011 08:24:30 +0000 (09:24 +0100)]
stdlib: add qsort_r
GNU extension like qsort but takes a 3 parameter comparision function.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Fri, 4 Nov 2011 12:02:09 +0000 (13:02 +0100)]
powerpc: Fix typo in clone()
Thanks to strauman at slac stanford edu for noticing
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Jean-Christian de Rivaz [Wed, 2 Nov 2011 19:44:00 +0000 (20:44 +0100)]
Add stub for eventfd.
Warn if the enventfd() function is not implemented.
Signed-off-by: Jean-Christian de Rivaz <jc@eclis.ch>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
William Pitcock [Wed, 2 Nov 2011 00:18:48 +0000 (19:18 -0500)]
libm: implement a generic sincos().
We already provide sincos() on some archs, so we should ship a generic version.
Signed-off-by: William Pitcock <nenolod@dereferenced.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
William Pitcock [Tue, 1 Nov 2011 23:55:25 +0000 (18:55 -0500)]
libm: add cabsf() and cabsl() functions.
Signed-off-by: William Pitcock <nenolod@dereferenced.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
William Pitcock [Tue, 1 Nov 2011 23:41:30 +0000 (18:41 -0500)]
libm: implement generic cexp(), cexpf() and cexpl().
The cexp*() family of functions is defined by the C99 math standard as
implementing exponential functions for complex types.
Signed-off-by: William Pitcock <nenolod@dereferenced.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Fri, 4 Nov 2011 09:23:06 +0000 (10:23 +0100)]
config: document eventfd
in LINUX_SPECIFIC
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Wed, 2 Nov 2011 16:31:51 +0000 (17:31 +0100)]
setegid: use setresgid conditionally
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Wed, 2 Nov 2011 16:28:15 +0000 (17:28 +0100)]
stubs: remove leftover undefs
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Wed, 2 Nov 2011 15:51:55 +0000 (16:51 +0100)]
buildsys: eventually remove sys/eventfd.h
rm sys/eventfd.h unless linux_specific was chosen
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Mon, 31 Oct 2011 22:13:09 +0000 (23:13 +0100)]
stubs: handle linux module functions
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Sun, 30 Oct 2011 20:57:39 +0000 (21:57 +0100)]
stubs: handle linux-specific
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Sat, 29 Oct 2011 10:09:57 +0000 (12:09 +0200)]
stubs: fix inverted socket logic
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Sat, 29 Oct 2011 09:55:43 +0000 (11:55 +0200)]
stubs: undef linux specific unless they were asked for
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Jean-Christian de Rivaz [Mon, 24 Oct 2011 17:07:43 +0000 (19:07 +0200)]
Add eventfd support.
Hello,
I whould like to share this simple patch that add the eventfd call to
uClibc. Please review so it can be accepted to be merged.
Jean-Christian
Signed-off-by: Jean-Christian de Rivaz <jc@eclis.ch>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Rob Landley [Thu, 27 Oct 2011 14:31:06 +0000 (07:31 -0700)]
sparc: fix build for linuxthreads.old
sparc target has assembly implementations of clone.S that doesn't
get used, and thus the build breaks. Also, sparc is missing a header file in
pthreads.old that exists in pthreads.new.
Signed-off-by: Rob Landley <rob@landley.net>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Carmelo Amoroso [Thu, 27 Oct 2011 10:48:31 +0000 (12:48 +0200)]
resolver: add a dependencies for DNS resolver feature
DNS resolver needs at least IPV4 or IPV6 support enabled
to be correctly built. Add such dependency.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Bernhard Reutner-Fischer [Thu, 27 Oct 2011 10:38:43 +0000 (12:38 +0200)]
pthreads: fix build when DNS resolver is not enabled.
Resolver state is only available if DNS resolver is enabled.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Rob Landley [Thu, 27 Oct 2011 10:32:34 +0000 (12:32 +0200)]
sh: fix build for SH in !NPTL case
Signed-off-by: Rob Landley <rob@landley.net>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Thu, 27 Oct 2011 08:00:58 +0000 (10:00 +0200)]
linuxthreads: fix typo in __UCLIBC_HAS_IPv4__ macro
IPv4 should has 'V' capital letter.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Tue, 25 Oct 2011 10:28:51 +0000 (12:28 +0200)]
ldso: let people disable to lookup into LD_LIBRARY_PATH
On hardened system it could be useful to disable the use
of LD_LIBRARY_PATH.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Tue, 25 Oct 2011 09:26:50 +0000 (11:26 +0200)]
ldso: minor fixes to implicit search path
Do not defined _dl_ldsopatch if implicit search path if not enabled,
and avoid to call search_for_named_library (even if it is able to handle
NULL search path).
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Tue, 25 Oct 2011 08:24:06 +0000 (10:24 +0200)]
ldso: disable the implicit path search in stand-alone mode as well
Honour LDSO_SEARCH_INTERP_PATH knob option also when running in
stand-alone mode.
Signed-off-by: Rune <u-uclibc-y2lt@aetey.se>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Tue, 25 Oct 2011 04:54:34 +0000 (06:54 +0200)]
config: add support for <custom>_defconfig
Add support for platform specific and/or custom defconfig
per arch. They have to be suffixed by '_defconfig' and are
automatically detected and displayed by issuing 'make ARCH=<arch> help'.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Tue, 25 Oct 2011 04:44:11 +0000 (06:44 +0200)]
config: revise defconfigs strategy
Revise the way defconfigs are defined, by renaming them
from defconfigs/<arch> to defconfigs/<arch>/defconfig.
It allows to have multiple defconfigs per arch.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Tue, 25 Oct 2011 04:35:10 +0000 (06:35 +0200)]
config: tidy-up of config targets
Introduce two local variables for 'conf' and 'mconf' binaries.
Use $^ automatic variable to invoke [m]conf tool.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Bernhard Reutner-Fischer [Fri, 14 Oct 2011 15:47:42 +0000 (17:47 +0200)]
resolv: fix memory leak
Timothy Holdener writes:
small memory leak in __dns_lookup() when the A record
in the DNS answer is preceded by one or more CNAME records.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Thu, 20 Oct 2011 16:53:37 +0000 (18:53 +0200)]
resolv: commentary typo fix
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Thu, 20 Oct 2011 16:49:48 +0000 (18:49 +0200)]
gethostbyname_r: set correct h_errno upon failure
previously gethostbyname_r(ipv6.google.com);herror("ERROR:") gave
Answer name = |ipv6.google.com|
Answer type = |5|
herrno=1
h_errno=0
ERROR:: Error 0
herrno=1
h_errno=1
ERROR:: Unknown host
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Tue, 18 Oct 2011 17:05:07 +0000 (19:05 +0200)]
resolv: fix compilation
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Carmelo Amoroso [Wed, 19 Oct 2011 14:30:32 +0000 (16:30 +0200)]
libdl: remove _dl_ldsopath from libdl.a
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Fri, 14 Oct 2011 10:04:58 +0000 (12:04 +0200)]
ldd: take LD_LIBRARY_PATH into account
Extend the environment variables adding the LD_LIBRARY_PATH
if actually passed when doing shared library tracings through
the ld.so trace capability.
This is possible only using the system dynamic linker in stand-alone
mode to avoid any vulnerability.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Bernhard Reutner-Fischer [Fri, 14 Oct 2011 12:11:01 +0000 (14:11 +0200)]
Config.in: fix erroneously deleted line
blame
e9d74358093b61e2e597fa9e066ba0468df14cba
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Fri, 26 Aug 2011 09:29:48 +0000 (11:29 +0200)]
ldso: silence harmless warning for !LDSO_PRELINK_SUPPORT
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Guillaume Bourcier [Tue, 11 Oct 2011 11:45:33 +0000 (13:45 +0200)]
libc: fix daylight saving time handling
The algorithm computing daylight saving time incorrectly adds a day for
each month after January for leap years. The clock shift from/to DST can
be delayed if the last Sunday of a transition month is exactly seven
days before the first of the following month.
This change adds a day for the February month only.
Signed-off-by: Guillaume Bourcier <guillaumebourcier@free.fr>
Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Mike Frysinger [Wed, 5 Oct 2011 03:26:10 +0000 (23:26 -0400)]
ldso: unify pread syscall definition
A few arches want pread() defined, so move it to common code.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mike Frysinger [Wed, 5 Oct 2011 03:26:09 +0000 (23:26 -0400)]
ldso: bfin/frv: drop dead simulator code
Nowhere do we define DYNAMIC_LOADER_IN_SIMULATOR, so drop the little bit
of code that depends on it. At least in the Blackfin case, we can run an
FDPIC ldso just fine under the simulator without hacks.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mike Frysinger [Wed, 5 Oct 2011 03:26:08 +0000 (23:26 -0400)]
ldso: merge duplicate dl-syscalls.h code to common header
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Ryan Flux [Tue, 4 Oct 2011 00:50:49 +0000 (10:50 +1000)]
microblaze mmu/elf/shared lib support
microblaze can either be with mmu or without
If with, use elf rather than flat, and support shared libs
Signed-off-by: Ryan Flux <ryan.flux@emsolutions.com.au>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Steve Bennett [Tue, 4 Oct 2011 00:50:48 +0000 (10:50 +1000)]
microblaze linux has no SDA support
The linker does not set up the Small Data Area symbols,
_SDA_BASE_ and _SDA2_BASE_ so don't try to resolve them
Signed-off-by: Ryan Flux <ryan.flux@emsolutions.com.au>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Steve Bennett [Tue, 4 Oct 2011 00:50:47 +0000 (10:50 +1000)]
microblaze can be either big or little endian
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Ryan Flux [Tue, 4 Oct 2011 00:50:46 +0000 (10:50 +1000)]
microblaze has long double support too
Signed-off-by: Ryan Flux <ryan.flux@emsolutions.com.au>
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Steve Bennett [Tue, 4 Oct 2011 00:50:45 +0000 (10:50 +1000)]
Use the generic bits/select.h for microblaze
This avoids warnings about type-punned pointers
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Mike Frysinger [Sat, 1 Oct 2011 19:41:06 +0000 (15:41 -0400)]
tests: ignore new inet test
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sat, 1 Oct 2011 19:39:46 +0000 (15:39 -0400)]
tests: add fallback for mktemp()
If SuSv3 legacy support is disabled, then mktemp() isn't available, and
we end up getting a lot of build errors. So add a fallback built on top
of tempnam() since that currently cannot be disabled.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sat, 1 Oct 2011 19:12:14 +0000 (15:12 -0400)]
ldso: x86_64: delete unused variable
gcc informed me:
In file included from ldso/ldso/ldso.c:46:0:
ldso/ldso/x86_64/elfinterp.c: In function '_dl_do_lazy_reloc':
ldso/ldso/x86_64/elfinterp.c:294:6: warning:
variable 'symtab_index' set but not used [-Wunused-but-set-variable]
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Sat, 1 Oct 2011 19:10:39 +0000 (15:10 -0400)]
ldso: constify reloc array itself
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Denys Vlasenko [Thu, 15 Sep 2011 14:59:21 +0000 (16:59 +0200)]
Defeat compiler optimization which assumes function addresses are never NULL
From email:
A warning for people who can be hit by the same or similar issue:
gcc 4.1.2 with -march=i486 here with -Os and even with -O2 or -O
is "optimizing away" the check
if (_stdio_term)
in libc/stdlib/_atexit.c
which results in a "call 0" and a segfault at exit
if you do not happen to link in stdio.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Bernhard Reutner-Fischer [Mon, 12 Sep 2011 15:29:21 +0000 (17:29 +0200)]
config: tweak help text
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Denys Vlasenko [Sat, 10 Sep 2011 01:01:33 +0000 (03:01 +0200)]
resolv: simple optimizations and style/readability fixes
text data bss dec hex filename
- 2915 0 0 2915 b63 libc/inet/ns_name_old.o
+ 2656 0 0 2656 a60 libc/inet/ns_name.o
- 958 0 0 958 3be libc/inet/ns_parse_old.o
+ 898 0 0 898 382 libc/inet/ns_parse.o
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Carmelo Amoroso [Fri, 26 Aug 2011 08:26:17 +0000 (10:26 +0200)]
ldso: fix build with PRELINK enabled and !TLS
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Bernhard Reutner-Fischer [Fri, 26 Aug 2011 07:40:30 +0000 (09:40 +0200)]
ldso: add missing include
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:56 +0000 (00:30 +0200)]
inet: build all res_* and ns_* functions conditionally
This patch changes the build system so that all DNS resolver related
functions (ie, those starting with dn_, ns_ and res_) are only built if
UCLIBC_HAS_RESOLVER_SUPPORT is set. This means that the libc will lack
support for things that existed in the library before unless this new
config option is set. On the other hand, if users really need support
for resolver functions, they now get a more complete set, and the
library is smaller than before it is deselected.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:55 +0000 (00:30 +0200)]
include/resolv.h: provide __res_state._u even if !__UCLIBC_HAS_IPV6__
This struct is used for IPv4 as well, so only make the members
conditional that are purely used by IPv6.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:54 +0000 (00:30 +0200)]
inet/resolv: add res_ninit and res_nclose
Some reordering of existing functions was necessary in order to provide
this functionality.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:53 +0000 (00:30 +0200)]
inet/resolv: add res_mkquery
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:52 +0000 (00:30 +0200)]
inet/resolv: add ns_initparse, ns_parserr, ns_skiprr and ns_msg_getflag
There are build 'ifdef L_ns_parse'.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:51 +0000 (00:30 +0200)]
inet/resolv: add dn_skipname and ns_name_skip
One uses the other, so add them in one go.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:50 +0000 (00:30 +0200)]
inet/resolv: Add dn_comp
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:49 +0000 (00:30 +0200)]
inet/resolv: add ns_name_pton, ns_name_pack and ns_name_compress
These are built '#ifdef L_ns_name'
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:48 +0000 (00:30 +0200)]
inet/resolv: add ns_{put,get}{16,32}
This patch introduces a new config directive
'UCLIBC_HAS_RESOLVER_SUPPORT' and adds the new symbols conditionally.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:47 +0000 (00:30 +0200)]
libc/inet/resolv.c: comment on #endif lines
While reading this file, I found it rather confusing to relate the
"endif" lines to their opening counter-part. This patch adds comments to
most of these lines to denote what the actually do.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Daniel Mack [Tue, 12 Jul 2011 22:30:46 +0000 (00:30 +0200)]
extra/Configs/Config.in: drop "default n" lines
"default n" is the default default. No need to mention it explicitly.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Kevin Cernekee [Sun, 24 Jul 2011 08:19:14 +0000 (01:19 -0700)]
ldso/mips: Clean up warnings
Trivial fixes for these warnings:
CC ldso/libdl/libdl.oS
In file included from ldso/ldso/ldso.c:46:0:
ldso/ldso/mips/elfinterp.c:88:1: warning: no previous prototype for '__dl_runtime_pltresolve'
ldso/ldso/ldso.c: In function '_dl_get_ready_to_run':
ldso/ldso/ldso.c:475:5: warning: assignment makes pointer from integer without a cast
In file included from ldso/ldso/ldso.c:1097:0:
ldso/ldso/dl-elf.c: In function '_dl_load_elf_shared_library':
ldso/ldso/dl-elf.c:811:3: warning: assignment makes pointer from integer without a cast
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Kevin Cernekee [Sun, 24 Jul 2011 08:19:13 +0000 (01:19 -0700)]
ldso/mips: dlsym() incorrectly matches undefined symbols
check_match() relies on checking for (sym->st_value == 0) to see if the
symbol is undefined. This works reasonably well on most architectures,
such as ARM or i386:
$ readelf -s /lib32/libcap.so.2 | grep -E "\<malloc\>"
17:
00000000 0 FUNC GLOBAL DEFAULT UND malloc@GLIBC_2.0 (2)
However, on MIPS, libbfd puts nonzero data in the st_value field to
facilitate resetting the symbol's GOT entry if the library that defines
the symbol gets unloaded:
$ mipsel-linux-readelf -s libfoo.so | grep -E "\<malloc\>"
74:
00003140 0 FUNC GLOBAL DEFAULT UND malloc
This can cause check_match to report a false positive when examining the
external symbol reference. Consequently dlsym() will return a bad pointer
to the caller.
Use the special MIPS logic from glibc-ports-2.13 to avoid this situation.
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Kevin Cernekee [Sun, 24 Jul 2011 08:19:12 +0000 (01:19 -0700)]
ldso/mips: Enable bootstrap relocations
_dl_reltypes_tab[] is an array of pointers to constant strings:
Contents of section .data:
20000
01000000 02000000 00000000 00000000 ................
20010
70e50000 7ce50000 88e50000 94e50000 p...|...........
^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^
(pointers are LE)
Contents of section .rodata:
e570
525f4d49 50535f4e 4f4e4500 525f4d49 R_MIPS_NONE.R_MI
e580
50535f31 36000000 525f4d49 50535f33 PS_16...R_MIPS_3
e590
32000000 525f4d49 50535f52 454c3332 2...R_MIPS_REL32
These pointers require relocation:
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE *ABS*
0001fffc R_MIPS_REL32 *ABS*
00020010 R_MIPS_REL32 *ABS*
00020014 R_MIPS_REL32 *ABS*
00020018 R_MIPS_REL32 *ABS*
On MIPS, only GOT relocations are currently handled by ldso during
startup. The net effect is that when running with "LD_DEBUG=reloc",
ldso itself crashes before the program even starts. This is caused
by _dl_dprintf() dereferencing an unadjusted string pointer such as
0xe570.
This patch enables the missing relocations and allows LD_DEBUG to work
as designed.
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Richard Braun [Sat, 9 Jul 2011 12:06:52 +0000 (14:06 +0200)]
libdl: add option for controlling dl_cleanup
When debugging memory leaks with Valgrind, it is required that
dynamically loaded shared objects are not unloaded when a process exits,
otherwise symbols from those files aren't correctly resolved in
allocation traces. This patch adds the LDSO_NO_CLEANUP configuration
option to control this behaviour.
Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Douglas Mencken [Tue, 12 Jul 2011 07:39:17 +0000 (09:39 +0200)]
ldso: fix build error due to missing variable 'st'
Fix a build error triggered when LDSO_PRELOAD_FILE_SUPPORT is enabled
due to missing definition of 'st' variable.
Signed-off-by: Douglas Mencken <dougmencken@gmail.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Khem Raj [Thu, 7 Jul 2011 16:50:17 +0000 (09:50 -0700)]
x86_64/elfinterp.c: Protect missed debug _dl_printf with __SUPPORT_LD_DEBUG__
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Khem Raj [Thu, 30 Jun 2011 07:32:11 +0000 (00:32 -0700)]
mips/signalfd.h: SFD_NONBLOCK for mips is 0200 unlike 04000 commonly
Exposed by udev 171 which uses signalfd
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Khem Raj [Tue, 28 Jun 2011 00:48:18 +0000 (17:48 -0700)]
Config.in.arch: Free UCLIBC_HAS_FPU setting from depending on UCLIBC_HAS_FLOATS
UCLIBC_HAS_FLOATS and UCLIBC_HAS_FPU are denoting two different aspects.
UCLIBC_HAS_FLOATS covers the floating point operations which has nothing
to do if you have FPU or not.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Carmelo Amoroso [Mon, 27 Jun 2011 13:26:22 +0000 (15:26 +0200)]
ldso: arm: fix build when prelinking is enabled.
This is a post merge fix to address build issue when PRELINK
support is enabled.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Fri, 1 Jul 2011 07:48:01 +0000 (09:48 +0200)]
Merge remote-tracking branch 'origin/master' into prelink
* origin/master:
libc: add missing lock initialization in vswprintf
libubacktrace: fix makefile clean target
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Maksim Rayskiy [Fri, 17 Jun 2011 01:14:01 +0000 (18:14 -0700)]
libc: add missing lock initialization in vswprintf
Unlike vsnprintf, vswprintf does not properly initialize locking
elements of FILE structure, which in some unfortunate cases can result
in lockups in _vfwprintf_internal.
Interesting, the initialization code was removed in
2a915734a32c5aec9a6a76c13bcb074d30e64171 at the same time as it was added
to vsnprintf.
Signed-off-by: Maksim Rayskiy <mrayskiy@broadcom.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Fri, 24 Jun 2011 14:27:36 +0000 (16:27 +0200)]
libubacktrace: fix makefile clean target
Fix makefile lean target removing the old reference to the non
existing libubacktrace_ARCH_OUT variable.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Fri, 24 Jun 2011 14:24:25 +0000 (16:24 +0200)]
Merge remote-tracking branch 'origin/master' into prelink
* origin/master: (61 commits)
fts: fix warning due to old-style function definition
ldso_tls: fix compiler warning due to missing cast
resolv: fix bug in res_init with ipv6 nameservers
config: Fix passing defconfig args
buildsys: pt-initfini.s depends on uClibc_config.h
libdl: search for ELF_RTYPE_CLASS_DLSYM in dlsym()
resolv: try next server on SERVFAIL
getaddrinfo: allow numeric service without any hints
bump version to 0.9.33-git
nptl/pthread: Correct path for machine specific pt-initfini.c
ctor/dtor nptl: Fix init and fini function compilation
Rules.mak: Rearrange appending UCLIBC_EXTRA_CFLAGS to CFLAGS
ARM: remove EABI/OABI selection
ARM: detect BX availibility at build time
ARM: #include <bits/arm_asm.h> where __USE_BX__ is used
ARM: transform the EABI/OABI choice into a boolean
ARM: remove sub-arch/variants selection from menuconfig
ARM: introduce blind options to select & force THUMB mode
ARM: reorder "Use BX" option
Fix __libc_epoll_pwait compile failure on x86
...
Conflicts:
ldso/libdl/libdl.c
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Fri, 24 Jun 2011 13:05:55 +0000 (15:05 +0200)]
fts: fix warning due to old-style function definition
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Carmelo Amoroso [Mon, 13 Jun 2011 17:58:22 +0000 (19:58 +0200)]
ldso_tls: fix compiler warning due to missing cast
Fix compiler warning (as below) due to missign cast
In file included from ldso/ldso/ldso.c:42:0:
ldso/ldso/dl-tls.c: In function 'init_tls':
ldso/ldso/dl-tls.c:1028:24: error: initialization makes pointer from integer without a cast
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Bernhard Reutner-Fischer [Fri, 17 Jun 2011 18:27:51 +0000 (20:27 +0200)]
resolv: fix bug in res_init with ipv6 nameservers
Thanks to Christian Krause <chkr plauener.de> for finding and fixing
this!
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Tue, 14 Jun 2011 16:48:19 +0000 (18:48 +0200)]
config: Fix passing defconfig args
Don't rely on argument-shuffling but use correct arguments in
the first place.
In bug#3589 Thomas Suckow writes:
The modified kconfig defines -D to be the same function as -d. In
addition -d does not take an argument and Config.in should be passed as
a non-option argument. The existing argument order appears to work on
distributions such as Fedora but chokes on Cygwin (newlib?).
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Tue, 14 Jun 2011 15:51:58 +0000 (17:51 +0200)]
buildsys: pt-initfini.s depends on uClibc_config.h
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Tue, 14 Jun 2011 14:48:51 +0000 (16:48 +0200)]
libdl: search for ELF_RTYPE_CLASS_DLSYM in dlsym()
On FDPIC platforms, functions are passed by function descriptor, not by
pointers. If you don't specify ELF_RTYPE_CLASS_DLSYM when calling
_dl_find_hash() the return value from dlsym() will be a pointer not a
function descriptor, crashing the program.
The bug was introduced when TLS support was added in
534661b91c98492995274c364c8177c45efc63db
Closes bug#3433
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Tue, 14 Jun 2011 14:31:00 +0000 (16:31 +0200)]
resolv: try next server on SERVFAIL
in bug 3637 Andrey Kovalev aka pxe.ru writes:
getaddrinfo does NOT add domain to query when receive SERVFAIL
RFC1035 7.2 suggests that
- If a resolver gets a server error or other bizarre response
from a name server, it should remove it from SLIST, and may
wish to schedule an immediate transmission to the next
candidate server address.
So let's try the next server upon SERVFAIL even if it's not strictly
required.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Natanael Copa [Sun, 12 Jun 2011 12:09:04 +0000 (12:09 +0000)]
getaddrinfo: allow numeric service without any hints
This appears to correspond to what glibc does and this fixes an
issue with iptables-1.4.11 with udp and raw port numbers.
(see http://bugzilla.netfilter.org/show_bug.cgi?id=721)
This fixes #3841
https://bugs.busybox.net/show_bug.cgi?id=3841
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Bernhard Reutner-Fischer [Tue, 14 Jun 2011 08:27:17 +0000 (10:27 +0200)]
bump version to 0.9.33-git
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Khem Raj [Tue, 14 Jun 2011 00:13:52 +0000 (17:13 -0700)]
nptl/pthread: Correct path for machine specific pt-initfini.c
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Khem Raj [Mon, 13 Jun 2011 23:30:55 +0000 (16:30 -0700)]
ctor/dtor nptl: Fix init and fini function compilation
We need to define the rules for .S files so it
gets the include paths some architectures like mips
include headers
Some architectures e.g. SH have their own version
of pt-initfini.c so look for that first before resorting
to generic version of pt-initfini.c
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Khem Raj [Sat, 11 Jun 2011 07:15:02 +0000 (00:15 -0700)]
Rules.mak: Rearrange appending UCLIBC_EXTRA_CFLAGS to CFLAGS
UCLIBC_EXTRA_CFLAGS is currently added before the OPTIMIZATION flags
and OPTIMIZATION is chosen to be Os by default. But in OE we pass the optimisation
flags through UCLIBC_EXTRA_CFLAGS but they are not effective since -Os is
specified at last. So we need to change the order of these option flags
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Yann E. MORIN [Sun, 9 Jan 2011 00:45:10 +0000 (01:45 +0100)]
ARM: remove EABI/OABI selection
Rely on the compiler to be properly setup for the default ABI.
When installing-headers, there are two cases:
- NPTL: no issue, a cross-compiler is already expected
- LinuxThreads: no issue, EABI/OABI has no impact on installed headers.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Yann E. MORIN [Sun, 9 Jan 2011 00:45:09 +0000 (01:45 +0100)]
ARM: detect BX availibility at build time
The "use BX" option is now a suggestion that BX be used if available.
Use a macro to detect if BX is available at build time. If so, and
the user requested it be used, then use it. Otherwise, error out.
Macro courtesy Khem RAJ:
http://lists.uclibc.org/pipermail/uclibc/2009-April/042301.html
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Yann E. MORIN [Sun, 9 Jan 2011 00:45:08 +0000 (01:45 +0100)]
ARM: #include <bits/arm_asm.h> where __USE_BX__ is used
The check for __USE_BX__ will be available in bits/arm_asm.h,
so the latter must be included wherever the former is used.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Yann E. MORIN [Sun, 9 Jan 2011 00:45:07 +0000 (01:45 +0100)]
ARM: transform the EABI/OABI choice into a boolean
The CONFIG_ARM_OABI option is never used.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Yann E. MORIN [Sun, 9 Jan 2011 00:45:06 +0000 (01:45 +0100)]
ARM: remove sub-arch/variants selection from menuconfig
Rely on the compiler to be correctly set up to generate
appropriate code for the target variant.
This exposes the Thumb option, as it is no longer auto-selected.
The "Use BX" no longer depends on supported CPU to be selected,
so it now defaults to 'n' as it shall work by default on CPUs
that do not have BX.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Yann E. MORIN [Sun, 9 Jan 2011 00:45:05 +0000 (01:45 +0100)]
ARM: introduce blind options to select & force THUMB mode
Add three new blind options to set use of Thumb mode:
- COMPILE_IN_THUMB_MODE
- if set, CFLAGS will contain -mthumb
- if unset, the compiler's default is used
- HAS_THUMB
- CPUS with Thumb instruction set can select this
- use of BX depends on this
- FORCE_THUMB
- CPUs that are Thumb-only must select this
- this selects: HAS_THUMB, COMPILE_IN_THUMB_MODE and USE_BX
Also, remove leading space in Rules.mak.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Yann E. MORIN [Sun, 9 Jan 2011 00:45:04 +0000 (01:45 +0100)]
ARM: reorder "Use BX" option
"Use BX" is not available on all CPUs, so the option depends on
a correct CPU to be chosen . It is weird that e BX" then appears
_above_ the CPU selection, not below.
Move the "Use BX" after the CPU selection.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Cc: Carmelo AMOROSO <carmelo.amoroso@st.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Phil Blundell [Sat, 11 Jun 2011 05:10:46 +0000 (01:10 -0400)]
Fix __libc_epoll_pwait compile failure on x86
This prevents "memory input 7 is not directly addressable" errors.
| libc/sysdeps/linux/common/epoll.c: In function '__libc_epoll_pwait':
| libc/sysdeps/linux/common/epoll.c:71:80: error: memory input 7 is not directly addressable
| libc/sysdeps/linux/common/epoll.c:75:86: error: memory input 7 is not directly addressable
| make: *** [libc/sysdeps/linux/common/epoll.o] Error 1
| make: *** Waiting for unfinished jobs....
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Jason Woodward <jason.woodward@timesys.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Khem Raj [Fri, 10 Jun 2011 20:05:34 +0000 (13:05 -0700)]
nptl/Makefile.in: Fix the build break caused by UCLIBC_CTOR_DTOR enabling
Extra / somehow does not match the target and complains that
$(top_builddir)libpthread/nptl/sysdeps/pthread/crti.o has no rules to
build
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Carmelo Amoroso [Mon, 30 May 2011 12:22:57 +0000 (14:22 +0200)]
buildsys: fix pregen target (!NPTL with LOCALE)
When NPTL is not enabled, and LOCALE support is used, compilation fails
with the following error:
-------------------------------------------------------------------------
MKDIR include/bits
GEN include/bits/sysnum.h
make[1]: *** No rule to make target `../..//include/bits/uClibc_ctype.h', needed by `../../extra/locale/gen_wc8bit.c'. Stop.
make: *** [pregen] Error 2
-------------------------------------------------------------------------
The problem is that "headers" is not listed as prerequisite of pregen.
These have been changed multiple times recently:
o Austin: order headers before pregen-headers
1f5c73c9f8a98b1d2a35cea868a585c97ab0e436
o Khem: pregen: Fix the parallel build problem in pregen target
046035ecde92262d96eff2192ba3cda716f04909
o Khem: pregen-headers: Add new target which depends on headers.
ef18cfe8ebab25f5ef92e81956f50e2dc57df602
o Carmelo: build: Fix infinite loop when no threading support is enabled
ff5e4de7088fe8d34812c2a1e604bf04be713606
In all of these commits headers was actually as prerequisite
In commit
9381d622e2411a35a5fd73a5a573eb269e2dd9c9 [nptl: fix buildsys] by Bernhard, headers was removed,
causing the problem reported above.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>