Age | Commit message (Collapse) | Author |
|
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!
|
|
|
|
|
|
'__kernel_old_dev_t'. And of course there is no good way to know
which is in use except checking linux/version.h. Grumble.
This is rather lame, but for now, define __kernel_old_dev_t to be
the same as __kernel_dev_t. This will want to be revisited soon.
-Erik
|
|
|
|
|
|
add sh/sh64: ABORT_INSTRUCTION definitions
|
|
Here are some simple fixes for things that broke for PPC with
the recent syscall cleanup. I am not sure they are correct but
they seem pretty trivial.
|
|
|
|
Boredom got the better of me, here's strlen() for sh64..
|
|
Hi Erik
I have had some fun trying to optimize memcpy, memset and memmove for
PPC. There are only boot tested, but I don't expect any problems :)
Read the comments in powerpc/string.c for more info.
Patch is relative to libc/string
Jocke
|
|
Hi Eric,
The attached diff file includes BUS_ISA fix for kernel since 2.4.23/
Kind regards,
Oleks
|
|
Hi Erik
I have corrected a bug in uClibc/libc/inet/resolv.c in function
__dns_lookup(). Have attaced a txt file with my diffs regarding to
uClibc 0.9.26.
If two nameservers are included in /etc/resolv.conf and the first one is
wrong and the secondary is correct the algorithm never
looked up the secondary one. Please review my diff and feel free to
submit the patch onto your CVS.
If reading manual page resolv.conf(5) under nameserver and how the
algorithm should work the previous dns_lookup did not fully followed
that.
Regards
Imre Sunyi
|
|
|
|
-Erik
|
|
|
|
|
|
|
|
|
|
stdio or locales.
|
|
|
|
|
|
Fix uninitialized pthread mutex used to lock the list of aligned
memory blocks.
|
|
all cases, but the archs I've looked at do build the needed routines as
PIC so we should be ok.
|
|
implementation to build. Later this month I'll add a functional wcsftime.
|
|
|
|
|
|
but remove support for host aliases (the HOSTALIASES env variable)
which looks like a very bad idea.
-Erik
|
|
missing one in the glibc abi, and including a number of extras (which I
left in commented).
Unfortunately, this brings back the perl pthread bug. Fixing the incorrect
weaks in libpthread wasn't sufficient to escape the shared loader bug. :-(
|
|
error handling code was mostly broken.
-Erik
|
|
|
|
|
|
Hello Erik!
I have made some cosmetical changes to the files, removed the added
SCRT=-fPIC option from building the crt0.S file (but it is a requirement
to build them with -fPIC), and changed some comments. I have left the
ldso.c patch with PIE_SUPPORT ifdefs, but consider applying it w/o them
(see some earlier comment from PaX Team on this issue, as it is considered
a bug). To have it work correctly, you'll also need removing
COMPLETELY_PIC.
One thing is missing: PIE_SUPPORT should be usable only for i386 (for
now).
Also added the support for propolice protection (that works for me and
catches memcpy/strcpy attacks (but needs a special gcc version).
Thanks, Peter
|
|
The macro to do some floating point checks in libc/sysdeps/linux/powerpc/setjmp.S is incorrect.
The following should fix it.
Same applies to uClibc/libc/sysdeps/linux/powerpc/__longjmp.S
Hope there aren't other files I've missed :)
|
|
The macro to do some floating point checks in libc/sysdeps/linux/powerpc/setjmp.S is incorrect.
The following should fix it.
|