Age | Commit message (Collapse) | Author |
|
|
|
Add the necessary prototypes and definitions for splice(), vmsplice()
and tee() to work. Without this, they won't even compile.
|
|
by adding <unistd.h> header file.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
- 288016 1924 7176 297116 4889c libuClibc-0.9.29.so
+ 287956 1924 7168 297048 48858 libuClibc-0.9.29.so
|
|
is indeed a char device with correct (maj,min).
(If it's not such a char device, the system is screwed anyway,
nothing can be done about it...)
text data bss dec hex filename
- 715 4 21 740 2e4 libc/misc/internals/__uClibc_main.o
+ 644 4 21 669 29d libc/misc/internals/__uClibc_main.o
|
|
|
|
|
|
|
|
|
|
|
|
|
|
were removed in linux-2.6
|
|
This could need a pull from upstream to do away with these __STDC__ conditionals.
|
|
|
|
|
|
Reorder structure members and change some of them into smallints
to reduce bss and text:
text data bss dec hex filename
- 2403 12 40 2455 997 libc/unistd/getopt.o
+ 2252 12 0 2264 8d8 libc/unistd/getopt.o
|
|
- 79 0 28 107 6b libc/inet/rpc/create_xid.o
+ 76 0 25 101 65 libc/inet/rpc/create_xid.o
- 126 0 4 130 82 libc/misc/assert/__assert.o
+ 123 0 1 124 7c libc/misc/assert/__assert.o
- 648 4 24 676 2a4 libc/misc/internals/__uClibc_main.o
+ 645 4 21 670 29e libc/misc/internals/__uClibc_main.o
- 230 0 4 234 ea libc/stdlib/abort.o
+ 216 0 1 217 d9 libc/stdlib/abort.o
- 129 0 4 133 85 libc/termios/tcgetsid.o
+ 126 0 1 127 7f libc/termios/tcgetsid.o
|
|
|
|
|
|
|
|
in string.h and strings.h. This caught unguarded string ops in
libc/inet/ethers.c __ether_line_w() function.
I will wait for fallout reports for a week or so,
then continue converting more libc_hidden_proto's.
|
|
* extra/locale/gen_wc8bit.c: use strrchr to parse locale
name to handle the case in which it contains a '.' character
like ANSI_X3.4-1968
* include/locale.h: use __UCLIBC_HAS_XLOCALE__ to control
inclusion of xlocale.h only
* libc/misc/ctype/ctype.c: add missing weak_alias for
__tolower_l and __toupper_l
* libc/misc/locale/locale.c: use strcasecmp (case insensitive)
for utf-8 locale name.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
|
|
|
|
- synch F_LINUX_SPECIFIC_BASE related fcntls for all arches
|
|
|
|
- pull bits/fcntl.h from glibc (Timo Teräs)
|
|
|
|
The only code change observed is actually a case
where we were not doing that as needed:
00000000 <__GI_tzset>:
-53 push %ebx
-e8 00 00 00 00 call 6 <__GI_tzset+0x6>
-5b pop %ebx
-81 c3 03 00 00 00 add $0x3,%ebx
- R_386_GOTPC _GLOBAL_OFFSET_TABLE_
6a 00 push $0x0
-e8 fc ff ff ff call 10 <__GI_tzset+0x10>
- R_386_PLT32 time
+e8 fc ff ff ff call 3 <__GI_tzset+0x3>
+ R_386_PC32 __GI_time
3d ff 4e 98 45 cmp $0x45984eff,%eax
0f 9e c0 setle %al
0f b6 c0 movzbl %al,%eax
50 push %eax
-e8 fc ff ff ff call 21 <__GI_tzset+0x21>
+e8 fc ff ff ff call 14 <__GI_tzset+0x14>
R_386_PC32 _time_tzset
58 pop %eax
5a pop %edx
-5b pop %ebx
c3 ret
No mass migration of libc_hidden_proto(foo) planned.
Lets wait for potential fallout first.
|
|
and add it to arpa/inet.h header.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
by Will Newton <will.newton@gmail.com>
|
|
Poschwatta
|
|
|
|
By capping max padding to not be bigger than three next insns,
we avoid having ridiculously big NOPs like this one:
53:66 66 66 66 2e 0f 1f nopw %cs:0x0(%rax,%rax,1)
5a:84 00 00 00 00 00
which was bigger than next three insns combined!
Size changes:
text data bss dec hex filename
102 0 0 102 66 x86_64/memcpy.o
102 0 0 102 66 x86_64.old/memcpy.o
90 0 0 90 5a x86_64/mempcpy.o
102 0 0 102 66 x86_64.old/mempcpy.o
210 0 0 210 d2 x86_64/memset.o
242 0 0 242 f2 x86_64.old/memset.o
213 0 0 213 d5 x86_64/stpcpy.o
220 0 0 220 dc x86_64.old/stpcpy.o
428 0 0 428 1ac x86_64/strcat.o
444 0 0 444 1bc x86_64.old/strcat.o
417 0 0 417 1a1 x86_64/strchr.o
418 0 0 418 1a2 x86_64.old/strchr.o
33 0 0 33 21 x86_64/strcmp.o
33 0 0 33 21 x86_64.old/strcmp.o
213 0 0 213 d5 x86_64/strcpy.o
220 0 0 220 dc x86_64.old/strcpy.o
135 0 0 135 87 x86_64/strcspn.o
151 0 0 151 97 x86_64.old/strcspn.o
225 0 0 225 e1 x86_64/strlen.o
233 0 0 233 e9 x86_64.old/strlen.o
140 0 0 140 8c x86_64/strpbrk.o
156 0 0 156 9c x86_64.old/strpbrk.o
135 0 0 135 87 x86_64/strspn.o
151 0 0 151 97 x86_64.old/strspn.o
Also, a few files got their .text alignment relaxed from 16 to 8 bytes,
which reduces padding at link time.
|
|
e.g. testb $0xff, %cl -> testb %cl, %cl
|
|
and marked with libc_hidden_proto/def(),
or not be exported in .h files
and be hidden (or even static if possible).
We have five functions which violate this. Fixing:
netdb.h: export ruserpass()
rpc/rpc.h: export xdr_accepted_reply() and xdr_rejected_reply()
make inet_ntoa_r static function (it is not exported in any .h file)
make _time_tzset hidden function (it is not exported in any .h file)
|
|
|
|
(pointed out by Peter S.Mazinger)
|
|
|
|
|
|
|
|
vprintf_internal, so that:
* vprintf() does locking and __STDIO_STREAM_TRANS_TO_WRITE thing,
then calls vprintf_internal
* vsnprintf, vdprintf.c, vasprintf.c use
vprintf_internal directly
This makes sprintf faster (since it doesn't do any locking)
and stops it from pulling in fseek in static compile.
|
|
|
|
The attached patch adds support for compiling arm uClibc as pure Thumb code.
This is needed because some recent ARM codes do not implement traditional ARM
mode. Specifically:
* Cortex-M1 - An extremely minimal FPGA based core that only implements
Thumb-1 (aka ARMv6-M).
* Cortex-M3 - A Thumb-2 only ARMv7-M core.
Most of uClibc already builds in Thumb mode, all that is left are a handful of
assembly bits.
Tested on arm-uclinuxeabi.
|