Age | Commit message (Collapse) | Author |
|
TARGET_SUBARCH implementation too.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
for generating some file on-the-fly on the NPTL case.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
Some powerpc machines can support 64k pages, enabled by the
CONFIG_64K_PAGES option in linux.
However, the uClibc dynamic loader won't currently work on these
machines, as it uses hard-coded values (PAGE_ALIGN, ADDR_ALIGN and
OFFS_ALIGN) in the ldso architecture-specific headers. When running on
a kernel with 64k pages, ld.so tries to mmap with 4k-aligned addresses,
rather than 64k, so mmap fails with -EINVAL.
When booting a 64k machine with a uClibc dynamic linker, init fails
with:
/init:500: can't map '/lib/libc.so.0'
/init:500: can't map '/lib/libc.so.0'
/init:500: can't map '/lib/libc.so.0'
/init: can't load library 'libc.so.0'
Kernel panic - not syncing: Attempted to kill init!
This change allows ld.so determine these alignment masks at runtime,
rather than compile-time. Since we have the _dl_pagesize variable
available, we can use that to generate the appropriate masks.
Since almost all of the architectures can use the common definitions for
the _ALIGN macros, we can consolidate them all in ldso.h, and override
in the sysdep headers where necessary (ie, mips).
This allows me to start a uClibc-based root fs on a 64k machine.
Signed-off-by: Jeremy Kerr <jk at ozlabs org>
|
|
on localae support
|
|
to simplify merge.
|
|
while keeping WCHAR support enabled. This solves two
testcases: tst_wcwidth and tst_wcswidth.
Fix dat_iswctype.c fiinput file: character 0x80 is not
a control character: it fixes tst_iswctype test.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
|
|
*: remove checks of sigaction and sigprocmask results
in cases where they clearly can't fail:
sigaction(known_good_sig)
sigprocmask(known_good_how)
text data bss dec hex filename
- 393 4 0 397 18d libc/pwd_grp/lckpwdf.o
+ 382 4 0 386 182 libc/pwd_grp/lckpwdf.o
- 56 0 0 56 38 libc/signal/sigblock.o
+ 44 0 0 44 2c libc/signal/sigblock.o
- 211 0 0 211 d3 libc/signal/sigset.o
+ 202 0 0 202 ca libc/signal/sigset.o
- 56 0 0 56 38 libc/signal/sigsetmask.o
+ 44 0 0 44 2c libc/signal/sigsetmask.o
- 309 0 0 309 135 libc/unistd/sleep.o
+ 256 0 0 256 100 libc/unistd/sleep.o
|
|
|
|
clarify uses of unoptimized sigXXX ops (they check signo),
use faster sigops where approproate.
text data bss dec hex filename
- 68 0 0 68 44 libc/signal/sighold.o
+ 63 0 0 63 3f libc/signal/sighold.o
- 114 0 0 114 72 libc/signal/sigintr.o
+ 110 0 0 110 6e libc/signal/sigintr.o
- 113 0 0 113 71 libc/signal/sigpause.o
+ 108 0 0 108 6c libc/signal/sigpause.o
- 68 0 0 68 44 libc/signal/sigrelse.o
+ 63 0 0 63 3f libc/signal/sigrelse.o
|
|
fix _NSIG for it.
better document what's going on in sigaction().
seems to not induce any actual code changes (sans mips).
|
|
text data bss dec hex filename
- 1179 13 2 1194 4aa libc/misc/syslog/syslog.o
+ 1165 13 2 1180 49c libc/misc/syslog/syslog.o
- 435 4 0 439 1b7 libc/pwd_grp/lckpwdf.o
+ 393 4 0 397 18d libc/pwd_grp/lckpwdf.o
- 38 0 0 38 26 libc/signal/sigandset.o
+ 32 0 0 32 20 libc/signal/sigandset.o
- 63 0 0 63 3f libc/signal/sigblock.o
+ 56 0 0 56 38 libc/signal/sigblock.o
- 22 0 0 22 16 libc/signal/sigempty.o
+ 20 0 0 20 14 libc/signal/sigempty.o
- 25 0 0 25 19 libc/signal/sigfillset.o
+ 20 0 0 20 14 libc/signal/sigfillset.o
- 34 0 0 34 22 libc/signal/sigisempty.o
+ 16 0 0 16 10 libc/signal/sigisempty.o
- 38 0 0 38 26 libc/signal/sigorset.o
+ 32 0 0 32 20 libc/signal/sigorset.o
- 119 0 0 119 77 libc/signal/sigpause.o
+ 113 0 0 113 71 libc/signal/sigpause.o
- 215 0 0 215 d7 libc/signal/sigset.o
+ 211 0 0 211 d3 libc/signal/sigset.o
- 63 0 0 63 3f libc/signal/sigsetmask.o
+ 56 0 0 56 38 libc/signal/sigsetmask.o
- 194 0 1 195 c3 libc/stdlib/abort.o
+ 183 0 1 184 b8 libc/stdlib/abort.o
- 323 0 0 323 143 libc/unistd/sleep.o
+ 309 0 0 309 135 libc/unistd/sleep.o
|
|
|
|
text+data text+rodata rwdata bss filename
- 2534 2510 24 0 libc/inet/rpc/clnt_udp.o
+ 2534 2534 0 0 libc/inet/rpc/clnt_udp.o
- 1904 1880 24 0 libc/inet/rpc/clnt_tcp.o
+ 1904 1904 0 0 libc/inet/rpc/clnt_tcp.o
- 770 746 24 4 libc/inet/rpc/clnt_raw.o
+ 770 770 0 4 libc/inet/rpc/clnt_raw.o
|
|
text+data text+rodata rwdata bss filename
- 2308 2284 24 24 libc/inet/rpc/clnt_unix.o
+ 2308 2308 0 0 libc/inet/rpc/clnt_unix.o
|
|
text data bss dec hex filename
- 130 156 0 286 11e libc/stdlib/random.o
+ 130 148 0 278 116 libc/stdlib/random.o
- 586 0 0 586 24a libc/stdlib/random_r.o
+ 570 0 0 570 23a libc/stdlib/random_r.o
|
|
text data bss dec hex filename
- 45 0 480 525 20d libc/inet/gethostbyname.o
+ 18 0 0 18 12 libc/inet/gethostbyname.o
|
|
|
|
otherwise use xdrrec_{get,put}int32 + trivial transform.
eliminate warnings.
des: small shrink + eliminate a warning
|
|
|
|
|
|
make two data objects static.
text data bss dec hex filename
- 274779 1835 19012 295626 482ca lib/libuClibc-0.9.30-svn.so
+ 274693 1835 19012 295540 48274 lib/libuClibc-0.9.30-svn.so
|
|
gcc?
text data bss dec hex filename
- 38015 18096 8636 64747 fceb lib/libpthread-0.9.30-svn.so
+ 38001 18096 8636 64733 fcdd lib/libpthread-0.9.30-svn.so
- 274842 1835 19012 295689 48309 lib/libuClibc-0.9.30-svn.so
+ 274779 1835 19012 295626 482ca lib/libuClibc-0.9.30-svn.so
|
|
text data bss dec hex filename
- 38457 18352 8636 65445 ffa5 lib/libpthread-0.9.30-svn.so
+ 38015 18096 8636 64747 fceb lib/libpthread-0.9.30-svn.so
- 8205 280 12 8497 2131 lib/libthread_db-0.9.30-svn.so
+ 8193 280 12 8485 2125 lib/libthread_db-0.9.30-svn.so
- 275208 1823 19132 296163 484e3 lib/libuClibc-0.9.30-svn.so
+ 274787 1823 19012 295622 482c6 lib/libuClibc-0.9.30-svn.so
|
|
supports this feature. SH4 will use this in some aseembly files
for the NPTL implementation. Add now safely on trunk.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
TODO: *_l() should go
|
|
disabled and __UCLIBC_HAS_WCHAR__ is enabled. The only locale available
when __UCLIBC_HAS_LOCALE__ is disabled is the C locale, the others locale
are skipped.
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
|
|
|
|
|
|
|
|
|
|
The sbrk lock is only needed for LT.old
|
|
|
|
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
|
|
|
|
|
|
|
|
Thanks to Skinkie for noticing.
|
|
This patch fixes position-independent executables (PIEs) for Thumb-2. In
Thumb assembly, instructions reading pc give a value 4 greater than the
address of the instruction, rather than 8 greater as in ARM mode, so the
offset to the GOT needs to have the right offset. (The Thumb-1 code
already gets this right; it's the code shared by ARM and Thumb-2 that
needs fixing.)
|
|
|
|
linuxthreads.old/manager: pointless style fixes, no code changes
|
|
no code changes
|
|
|
|
(undefined reference to 'getopt')
|
|
|
|
|
|
because it didn't affect little endian arches)
|
|
(fixes build with locale enabled)
|
|
Appears to build fine (several .configs tried)
|