summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2008-06-04This fixes a problem with the move of libc_hidden_proto to string.h.Bernd Schmidt
The obsolete functions bcopy, index, etc. are not supposed to be used within uClibc itself. Hence, there is no libc_hidden_def for them, but the previous patch did not just move libc_hidden_protos, it also added new ones for the legacy functions. As a result, programs which use these functions can no longer link with uClibc. This fixes it by removing the unnecessary libc_hidden_protos. I've also removed all inclusions of <strings.h> from uClibc source files: since we define _GNU_SOURCE, it is sufficient to include <string.h>. We then do not need to duplicate the libc_hidden_proto block in <strings.h>.
2008-06-03- adds several config-options to allow for turning off certain featuresBernhard Reutner-Fischer
like o UCLIBC_HAS_GNU_ERROR o UCLIBC_HAS_BSD_ERR o UCLIBC_HAS_PTY o UCLIBC_HAS_GETPT (1) o UCLIBC_SYSCALL_STUBS o UCLIBC_SYSCALL_STUB_WARNING o UCLIBC_LINUX_SPECIFIC (2) o UCLIBC_BSD_SPECIFIC (3) o UCLIBC_NTP_LEGACY (4) o UCLIBC_SV4_DEPRECATED (5) o UCLIBC_HAVE_REALTIME (6) o UCLIBC_HAVE_ADVANCED_REALTIME (7) o UCLIBC_HAVE_EPOLL (8) o UCLIBC_HAVE_XATTR (9) o UCLIBC_HAVE_PROFILING (10) (1) make non-standard getpt optional and implement standard posix_openpt (2) fstatfs(), inotify_*(), ioperm(), iopl(), madvise(), modify_ldt(), personality() ppoll(), setresuid() (3) mincore(), getdomainname(), setdomainname() (4) ntp_adjtime(), ntp_gettime() aliases (5) ustat() [use statfs(2) in your code instead] (6) All marked as "(REALTIME)" in SUSv3 (7) All marked as "(ADVANCED REALTIME)" in SUSv3 (8) epoll_create(), epoll_ctl(), epoll_wait() (9) all Extended Attributes (10) helpers for gcc's -finstrument-functions - Fixes _dl_exit() - Implements sleep(3) for !UCLIBC_HAVE_REALTIME - Implements usleep(3) for !UCLIBC_HAVE_REALTIME - adds #warning about incorrect posix_fadvise{,64}() - removes unused and unwanted uselib() Net outcome is that an allnoconfig with HAVE_SHARED is now about 88k instead of formerly 130k.
2008-06-03Remove __PRINTF_INFO_NO_BITFIELD hack, UCLIBC_INTERNAL can be used instead,Denis Vlasenko
and it's slightly shorter. Also removes stray macros from public <printf.h> header and uses spaces for comment indentation. No code changes (verified with objdump).
2008-06-02dlfcn.h exists only if __HAVE_SHARED__ ("we are built with shared lib support"),Denis Vlasenko
not when !__HAVE_NO_SHARED__ ("arch can theoretically support shred libs")
2008-06-01Rework smallint machinery so that it will reliably fail to compileDenis Vlasenko
even if arch overrides smallint size. Makes it easier to spot bugs on such arches.
2008-05-30- pull wur settings from upstream. No other changes.Bernhard Reutner-Fischer
2008-05-20Introduce and use small[u]int type. Changes in size:Denis Vlasenko
- 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
2008-05-20- make it compile with !__UCLIBC_HAS_LOCALE__Bernhard Reutner-Fischer
2008-05-20Synch extern declaration with definition provided in __uClibc_main.cCarmelo Amoroso
2008-05-19Moving libc_hidden_proto's into #ifdef UCLIBC_INTERNAL blockDenis Vlasenko
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.
2008-05-19Added a bounch of locale fixes.Carmelo Amoroso
* 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>
2008-05-02Added implementation for 'locale' command.Carmelo Amoroso
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com>
2008-04-28Experimentally move libc_hidden_proto(time) to time.h.Denis Vlasenko
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.
2008-04-25reinstate external visibility of inet_ntoa_r,Denis Vlasenko
and add it to arpa/inet.h header.
2008-04-24- fixup asm. No object-code changesBernhard Reutner-Fischer
2008-04-12Functions should be either exported in public .h filesDenis Vlasenko
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)
2008-03-26Enable remap_file_pages prototype controlled by __USE_GNU define as well as ↵Carmelo Amoroso
mremap, instead of __USE_MISC according to glibc. Missing prototype was spotted out by Peter Mazinger
2008-02-28Added support for ether_line, ether_ntohost and ether_hostton.Carmelo Amoroso
Added related test cases. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Hacked-by: Carmelo Amoroso <carmelo.amoroso@st.com>
2008-01-19- forgot to add include/fenv.hBernhard Reutner-Fischer
2008-01-17- fix compilation:Bernhard Reutner-Fischer
In file included from toolchain_build_i386/gcc-3.4.6/libiberty/hashtab.c:49: build_i386/staging_dir/i386-linux-uclibc/sys-include/malloc.h:193: error: ISO C forbids data definition with no type or storage class
2008-01-11cull useless headers and import a few updates from glibcMike Frysinger
2008-01-09fetch queue.h from latest freebsd cvsMike Frysinger
2008-01-08change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when ↵Mike Frysinger
doing double negatives
2008-01-06use the __extern_always_inline define from cdefs.h instead of duplicating ↵Mike Frysinger
gcc version checking in every pt-machine.h header ... while __extern_always_inline should work fine, i think what is intended is __extern_inline ... should double check later
2008-01-05sync with glibc to get the extern inline directiveMike Frysinger
2008-01-05Chris Zankel writes:Mike Frysinger
The following patches add support for the Xtensa processor architecture to uClibc. They are based on a recent SVN checkout (12/05/2007). The first patch (attached to this post) adds Xtensa support to various shared configuration and make files. The following patches then include the Xtensa specific files and directories. I welcome any feedback and would appreciate it if you could include the patches into the mainline tree. I am certainly committed to maintain the port. Bob Wilson was kind enough to review the patches. Some notes about the architecture: Xtensa is a configurable and extensible processor architecture developed by Tensilica. For more information, please visit: www.linux-xtensa.org.
2008-01-05give EM_AVR32 a little commentMike Frysinger
2008-01-05implement semtimedop for #927Mike Frysinger
2007-11-22Certain configure scripts test for presence of dlfcn.h. Don't install itBernd Schmidt
if !HAVE_SHARED.
2007-11-16Added AVR32 support to uClibc. Signed-off-by: Hans-Christian Egtvedt ↵Carmelo Amoroso
<hcegtvedt@atmel.com>
2007-11-07Added support for GNU hash style into dynamic linkerCarmelo Amoroso
2007-10-20- commentary typo fixBernhard Reutner-Fischer
2007-09-15add libc_hidden_xxxx for __uc_mallocDenis Vlasenko
2007-09-15sync with glibcMike Frysinger
2007-09-15drop __user hack for crappy kernel headers and document the __linux__ greaseMike Frysinger
2007-07-30introduce __uc_malloc, so that users can intercept libc internal OOM.Denis Vlasenko
2007-07-14syslog.h: allow prioritynames[]/facilitynames[] to be defined constDenis Vlasenko
(selectable by #defining SYSLOG_NAMES_CONST)
2007-06-24- make sure to define _LIBC in libc-symbols.h before including anythingBernhard Reutner-Fischer
else. - internal_function is only used inside libc, so do not define it in uClibc_arch_features.h on i386 if we are outside of libc.
2007-04-17- shrink resolver codeBernhard Reutner-Fischer
2007-03-01include stddef.h to get NULL definition.Khem Raj
2007-02-28add support for ppoll() and emulate poll() with it when __NR_poll does not existMike Frysinger
2007-02-28sync with glibcMike Frysinger
2007-02-21stub out msync() for no-mmu as wellMike Frysinger
2007-02-12Impl. linux syscalls sched_getaffinity/sched_setaffinity butJoakim Tjernlund
protect its use by #ifdef INTERNAL_SYSCALL since not all arch's has INTERNAL_SYSCALL. All arch's not having INTERNAL_SYSCALL in libc/sysdeps/linux/<arch>/bits/syscalls.h should get an update from glibc.
2007-02-08use __FDPIC__ from the compiler rather than setting our ownMike Frysinger
2007-02-08revert previous change; reading POSIX spec some more says we need to set ↵Mike Frysinger
errno to EINVAL if filename is NULL
2007-02-08we crash if the first argument to realpath() is non-null as well so lets ↵Mike Frysinger
mark both arguments as being non-NULL
2007-02-05no need to duplicate WCHAR checkMike Frysinger
2007-02-05- silence warning about using an undefined tokenBernhard Reutner-Fischer
2007-01-29Richard Sandiford writes:Mike Frysinger
However, retesting on m68k showed up a problem that had appeared in uClibc since the last time I tried. Specifically, revision 15785 did: -#define HEAP_GRANULARITY (sizeof (HEAP_GRANULARITY_TYPE)) +#define HEAP_GRANULARITY (__alignof__ (HEAP_GRANULARITY_TYPE)) -#define MALLOC_ALIGNMENT (sizeof (double)) +#define MALLOC_ALIGNMENT (__alignof__ (double)) The problem is that (a) MALLOC_HEADER_SIZE == MALLOC_ALIGNMENT (b) the header contains a size value of type size_t (c) sizeof (size_t) is 4 on m68k, but... (d) __alignof__ (double) is only 2 (the largest alignment used on m68k) So we only allocate 2 bytes for the 4-byte header, and the least significant 2 bytes of the size are in the user's area rather than the header. The patch below fixes that problem by redefining MALLOC_HEADER_SIZE to: MAX (MALLOC_ALIGNMENT, sizeof (size_t)) (but without the help of the MAX macro ;)). However, we really would like to have word alignment on Coldfire. It makes a big performance difference, and because we have to allocate a 4-byte header anyway, what wastage there is will be confined to the end of the allocated block. Any wastage will also be limited to 2 bytes per allocation compared to the current alignment. I've therefore used the __aligned__ type attribute to create a double type that has at least sizeof (size_t) bytes of alignment. I've introduced a new __attribute_aligned__ macro for this. It might seem silly protecting against old or non-GNU compilers here, but the extra alignment is only an optimisation, and having the macro is more in the spirit of the other attribute code.