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.
|
|
|
|
|
|
|
|
|
|
|
|
weak alias as well...
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
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.
|
|
Hi Eric,
The attached diff file includes BUS_ISA fix for kernel since 2.4.23/
Kind regards,
Oleks
|
|
|
|
-Erik
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
seeing any LTP failures.
|
|
|
|
-Erik
|
|
The rt_sigprocmask syscall has broken error handling in 2.4.x
kernels, while the sigprocmask syscall appears to get things
right. Regardless we should be extra careful, and add these
checks.
|
|
were including libc-lock.h which had a bunch of weak pragmas. Also,
uClibc supplied a number of no-op weak thread functions even though
many weren't needed. This combined result was that sometimes the
functional versions of thread functions in pthread would not override
the weaks in libc.
While fixing this, I also prepended double-underscore to all necessary
weak thread funcs in uClibc, and removed all unused weaks.
I did a test build, but haven't tested this since these changes are
a backport from my working tree. I did test the changes there and
no longer need to explicitly add -lpthread in the perl build for
perl to pass its thread self tests.
|
|
we did not have a __getpgid(). Fix that.
|
|
This patch adds the libpthread backend bits for sh64. As noted previously,
we can't inline things like the testandset() in pt-machine.h as we need to
use a completely different ISA / CFLAGS in order for this to work.
As a result, this patch is somewhat of a RFC as well to see what people think
of the libpthread/linuxthreads/sysdeps Makefile approach, etc. The approach
I've taken currently has been to provide a sysdeps/Makefile with a note that
TARGET_ARCHs that want build rules can simply add themselves into the list of
matching architectures to add to the subdir rule for. This probably isn't
the cleanest solution, but it's quite transparent and works quite well.
|
|
|
|
being cleaned up.
|
|
|
|
|
|
Untested, but syscall() is needed by busybox for pivot_root at least.
|
|
|
|
|
|
|
|
|
|
used to generate the crti.S and crtn.S files. Since we don't use that
anymore, keeping the workaround makes no sense.
Furthermore, in most cases, SAFECFLAGS was not picking up all the
needed flags, causing crti.o and crtn.o to not be built PIC.
Which is very bad. Removing SAFECFLAGS and using CFLAGS fixes
that as well.
|
|
|