Age | Commit message (Collapse) | Author |
|
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
This patch fixes the big-endian code and adds a new optimization
only for little endian mode.
This optimization is based on prefetching and 64bit data transfer via FPU.
Tests shows that
----------------------------------------
Memory bandwidth | Gain
| sh4-300 | sh4-200
----------------------------------------
512 bytes to 16KiB | ~20% | ~25%
from 32KiB to 16MiB | ~190% | ~5%
----------------------------------------
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Size changes by this and previous change:
text data bss dec hex filename
1151 13 2 1166 48e libc/misc/syslog/syslog.o
1093 10 2 1105 451 libc/misc/syslog/syslog.o
1047 10 2 1059 423 libc/misc/syslog/syslog.o
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
The fix:
logfac == 0 in openlog(xx, logfac) is allowed now.
Corresponding internal openlog() call in vsyslog()
uses explicit LOG_USER in order to set it as a default
facility.
Optimizations:
mylock is not recursive now, since a single intenal call
of openlog is converted to a call to openlog_internal
which assumes that lock is already taken. No recursive
locking is possible now.
LogFacility is reduced to byte.
cache static LogFile in auto variable fd (smaller code).
vsyslog with bogus pri parameter wouldn't lock/unlock
and mess with signals - it will just return at once.
pass NULL as ident string in internal openlog call
- same effect as passing LogTag but smaller code.
comment out "if (LogTag)" checks - it is never NULL.
use the same struct sigaction for setting new sigaction
and for saving old one - saves ~32 bytes of stack.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
The sh port uses the gcc __set_fpscr internal function, but neither gcc
nor glibc creates a prototype for it. This leads to a bunch of random
warnings about implicit decls during the build.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
The sh port uses the gcc __set_fpscr internal function, but neither gcc
nor glibc creates a prototype for it. This leads to a bunch of random
warnings about implicit decls during the build.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Was causing build failures if ctype tables were disabled and susv4 was on
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Was causing build failures if ctype tables were disabled and susv4 was on
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
This is needed because tls.h ends up includeing nptl/descr.h
which needs the full res_state definition. resolv.h also ends up
including tls.h, but _without_ the full res_state struct it errors.
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Plus related synch.
Add a testcase for the sysconf variables based on the one from glibc
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Disable some IPv6 header defines if IPv6 is off.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Now that the kernel supports MAP_UNINITIALIZE, have the malloc places use
it to get real uninitialized memory on no-mmu systems. This avoids a lot
of normally useless overhead involved in zeroing out all of the memory
(sometimes multiple times).
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Most ports have the same exact mman bit defines, so let's unify things
like the linux kernel has with the asm-generic efforts.
A few ports are left behind as they are non-trivial to merge -- the arch
maintainers can tackle it if they care.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Also, remove unneeded __need_timespec (It cuts off a tiny bit of
work for CPP but is of course not strictly needed).
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
This optimization is based on prefetching and 64bit data transfer via FPU
(only for the little endianess)
Tests shows that:
----------------------------------------
Memory bandwidth | Gain
| sh4-300 | sh4-200
----------------------------------------
512 bytes to 16KiB | ~20% | ~25%
from 32KiB to 16MiB | ~190% | ~5%
----------------------------------------
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Conflicts:
Rules.mak
libc/misc/sysvipc/msgq.c
test/Rules.mak
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
This avoids a warnings about implicit declaration of function 'memset'.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
[__]isascii need to be defined all the time for the build.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Move attribute_noreturn to header.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
We don't provide spawn.h let alone any other spawn funcs/types, so don't
set up the _POSIX_SPAWN define that some packages (like vlc) check.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Call the hidden memcpy() ourselves otherwise gcc will emit a call to the
public memcpy() which goes through the PLT.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Assign each field one by one rather than stack initialization as gcc will
call memset() to zero out the rest of the structure -- which we don't care
about as the field is unused and not seen outside of the libc.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
We only need to set the first byte to 0, but gcc likes to zero out the
rest of the string with memset() when using this initialization style.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
This also has the advantage of fputs() having a hidden alias while
puts does not.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
__gen_tempname now needs to not be hidden so libpthread can get at it
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
sem_open(3) needs to create a temporary file in a way which can't
be efficiently implemented in terms of POSIX API. Extend
__gen_tempname with mode_t mode argument in order to ease
sem_open implementation.
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
We don't provide spawn.h let alone any other spawn funcs/types, so don't
set up the _POSIX_SPAWN define that some packages (like vlc) check.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Call the hidden memcpy() ourselves otherwise gcc will emit a call to the
public memcpy() which goes through the PLT.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Assign each field one by one rather than stack initialization as gcc will
call memset() to zero out the rest of the structure -- which we don't care
about as the field is unused and not seen outside of the libc.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
We only need to set the first byte to 0, but gcc likes to zero out the
rest of the string with memset() when using this initialization style.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
This also has the advantage of fputs() having a hidden alias while
puts does not.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
* setup memory for the cancellation buffer
* remove unneeded weak's
* deallocation of tsd on main thread exit
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
* clock_getcpuclockid, clock_gettime, clock_nanosleep, mq_receive,
mq_send, mq_timedreceive, mq_timedsend, _SC_MONOTONIC_CLOCK
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|