Age | Commit message (Collapse) | Author |
|
Hi Erik
It seems to me that __pthread_once and __pthread_initialize_minimal could be made
WEAKs with no stub. The code in rpc_thread.c and __uClibc_main.c appears to expect this.
Also, __pthread_return_0 __pthread_return_1 and __pthread_return_void can be static, not to
pollute the name space.
Jocke
|
|
Here are a number of minor changes to FR-V-specific bits of the uClibc
port:
- I've adjusted the definition of _dl_mmap to cope with the fact that
there will be a definition for an mmap2-only system.
- We don't have COPY relocs, so optimize the copy reloc-related code
away.
- Change the page size to 16KiB, to match the ABI spec, and not a
stale value I'd copied from a linker config file. Oops.
- Fix error handling in clone and vfork; parts of the changes by David
Howells <dhowells@redhat.com>
- Rearrange includes in crtreloc.c.
- Change the API of __syscall_error, to reduce code size.
- Improve __syscall_return in terms of code size, so as to enable
tail-calling of __syscall_error, at least within libc. Ideally,
__syscall_error should be hidden within libc.so, but this didn't
work because of libdl. I haven't looked into why, and figured I'd
leave it visible for now.
- Rename enumerators and macros in sys/ucontext.h to reduce namespace
pollution.
|
|
have it. It is used by the boehm gc, amoung other things.
|
|
|
|
This patch introduces optimized versions of memcpy and memset for
frv.
|
|
On Mar 20, 2004, Erik Andersen <andersen@codepoet.org> wrote:
> If you supply a FR-V specific link.h header into
> libc/sysdeps/linux/frv/ then you can do the same sortof
> thing that mips does i.e. with sgidefs.h in the headers
> target in libc/sysdeps/linux/mips/Makefile
Thanks, this patch implements your suggestion.
|
|
|
|
|
|
by extracting the value from the ELF header.
|
|
|
|
|
|
Add timegm() function.
Make lookup_tzname() static (as it should have been).
Have strftime() get timezone information from the passed struct
for the %z and %Z conversions when using struct tm extensions.
|
|
|
|
Also fix the sizeof() issue since the change to a dynamicly allocated buf.
Note! This is still broken wrt threading, but so is the glibc version.
I'm just commiting this for new until I can test my rewrite.
|
|
|
|
|
|
a local named 'buf' and we want to avoid shadowing that.
|
|
|
|
Because variables are linked to fixed registers, there is a problem in :
(*__errno_location())=(-_r0);
As __errno_location() uses r0 to return the address of the errno location,
the negated address will be assigned instead of the error code.
Attached patch will resolve this.
|
|
which prevents libthread_db (used by gdb) from compiling. Include a
copy within include/sys/user.h for mips, per what was done in glibc.
|
|
|
|
|
|
This code in uClibc would attempt to set the default facility if
none was specified. Except none being specified is 0, which is
also LOG_KERN, therefore klogd could never get kernel messages
logged as LOG_KERN.
|
|
syscalls if they are not supported.
|
|
|
|
with __NR_mmap is not available (i.e. only __NR_mmap2)
|
|
I added this function after I posted the last version of the FR-V
patch. Add syscall.c.
|
|
|
|
is not a SuSv3 symbol). Rather than using __bzero internally per Alexandre's
original patch, use memset instead.
|
|
instead. Based on an initial patch from Tobias Anderberg, but reworked. I
asked Tobias to look into doing something more like what is done in busybox,
but that proved to be a pain.
One possible concern is that these buffers will probably show up as
memory leaks i.e. with valgrind. Perhaps we should add in an atexit
call to free this memory right after we allocate it?
|
|
|
|
were returning). Anyway, also make them threadsafe and smaller. The
error.c file still needs work.
|
|
Bug fix: gethostbyname_r checked errno without first setting it to a
known value.
|
|
the symbol in common.
|
|
This patch adds code to uClibc to support a new ABI designed for the
FR-V architecture, that enables text segments of executables and
shared libraries to be shared by multiple processes on an OS such as
uClinux, that can run on FR-V processors without an MMU.
Patches for binutils and GCC have just been posted in the
corresponding mailing lists. The binutils patch was approved,
but there's one additional patch pending review, that I posted
this week. An updated GCC patch will be posted to
gcc-patches@gcc.gnu.org as soon as I complete testing (I used a
known-good compiler to test the uClibc patch below).
Since the existing dynamic loader code didn't support independent
relocation of segments, it required changes that were somewhat
extensive. I've added a number of new machine-specific macros to try
to keep the platform and ABI-specific details outside the generic
code. I hope this is not a problem.
|
|
While testing the FR-V code with GCC mainline, I ran into some
problems in the RPC code. It relies on a GCC extension that is no
longer available, namely, the result of a cast is no longer considered
an lvalue.
This patch enables the code to compile. I haven't been able to test
RPC though, especially in a multi-threaded environment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
weak alias as well...
|
|
|
|
|
|
|
|
We can't use trapa #0xff on sh2, the only permissible trapa ranges are
32 to 63. On SH-2, we use trapa32 to issue a break in the same way that
trapa #0xff is used on SH-3/4. This behavior is implementation specific,
but is what is used in sh-ipl+g, linux, eCos, uITRON, etc. so we follow
suit here.
|
|
|
|
Codepaths streamlined. Improved performance for nonthreaded apps
when linked with a thread-enabled libc.
Minor iconv bug and some locale/thread related startup issues fixed.
These showed up in getting a gcj-compiled java helloworld app running.
Removed some old extension functions... _stdio_fdout and _stdio_fsfopen.
|
|
The #ifdef __NR_poll test was failing because it was done before any includes.
Hence, the emulation was always being used.
NOTE: The emulation fails a couple of tests in test_poll.py!
|