Age | Commit message (Collapse) | Author |
|
|
|
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
|
|
|
|
|
|
doing double negatives
|
|
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
|
|
|
|
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.
|
|
|
|
|
|
if !HAVE_SHARED.
|
|
<hcegtvedt@atmel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(selectable by #defining SYSLOG_NAMES_CONST)
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
errno to EINVAL if filename is NULL
|
|
mark both arguments as being non-NULL
|
|
|
|
|
|
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.
|
|
be 0 in this case. Avoids some warnings).
|
|
Only affects gcc <2.7 or non-gcc compilers that bailed earlier due to missing int64_t
|
|
|
|
to true
|
|
|
|
|
|
|
|
|
|
from string.h
|
|
fix compilation if PUTC_MACRO and/or GETC_MACRO is turned off
|
|
applications stop using _syscall#() and use syscall() instead. Cleanup
internal handling of syscall includes to use the correct header file.
|
|
are NOT suitable for user-space. The libc ones are the ones that
application code must use. If a problem is found with the libc
ones, then the libc syscall macros should be fixed.
|
|
though I still need to silence the warnings about _pthread_cleanup_push_defer
|
|
things, and avoid potential deadlocks caused when a thread holding a uClibc
internal lock get canceled and terminates without releasing the lock. This
change also provides a single place, bits/uClibc_mutex.h, for thread libraries
to modify to change all instances of internal locking.
|
|
stuff, even the fallback defines.
|
|
|
|
Also make compilation conditional on float support.
|
|
L1 functions
|