Age | Commit message (Collapse) | Author |
|
The current behavior of the powerpc boot1_arch.h seems somewhat broken.
Currently room is made on the stack pointer for the link register, but the link
register is never actually pushed onto it. glibc bears the following comments:
/* Call _dl_start with one parameter pointing at argc */
mr r3,r1
/* (we have to frob the stack pointer a bit to allow room for
_dl_start to save the link register). */
followed by the -16 add to r1. Despite the fact that r1 is modified, the link
register is never actually pushed onto r1, thus the adjustment is completely
superfluous.
There's two possible fixes for this, either saving the link register in the way
that glibc does, or getting rid of the r1 adjustment. As I'm not sure if saving
the link register will actually break the _dl_boot2 callin, both options will
probably want to be played with.
The following bit of inline assembly in the attached patch builds cleanly for
me with gcc 3.3 on darwin, but I'm not able to test it any further beyond that.
|
|
> Is there anything I can do/provide that would assist in the solving of
> this problem on PowerPC? I'm still concerned about my lack of flash space...
Try this path. It fixes the recent ldso problems for me on my mpc860 board.
You should be able to use ldso without the dcbx patch to the kernel now.
Please report back.
Jocke
|
|
|
|
stdio or locales.
|
|
avoid problems 'hidden symbol' problems. Also handle -lfloat for the
soft-float arm case.
|
|
|
|
items, we have to declare what endianness cpus are capable of supporting
and work using dependancies.
|
|
|
|
|
|
inclusion will cause the loader to crash when jumping to the application.
The reason is due to the START macro having a "leave" instruction included
to fixup the stack before starting the app.
|
|
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.
|
|
Fix (hopefully) a potential problem with failed freopen() calls. The
fix isn't tested since I've been working on the replacement stdio
core code which will go in after the next release.
|
|
|
|
seeing any LTP failures.
|
|
|
|
Added a list of popen()'d to store pids and use waitpid() in pclose().
Loop on waitpid() failure due to EINTR as required.
Close parent's popen()'d FILEs in the {v}fork()'d child.
Fix failure exit code for failed execve().
|
|
|
|
Fixed some minor issues plus (as I recall) one SUSv3 errno case.
|
|
-Erik
|