Age | Commit message (Collapse) | Author |
|
Here's the patch for the ldso bits for sh64. This is still in need of a bunch
of debugging, testing, etc. and is really only being submitted for general
completeness. This assumes that the previous patches I've submitted have
already been applied.
I plan on playing with this and buildroot some more later, as I'd definitely
like to see buildroot images for sh64.
|
|
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.
|
|
Nothing overly interesting here, this renames Hitachi/Mitsubishi to Renesas
for the relevant platforms (in this case, h8, sh, and m32r). The same changes
have already been going on in gcc/binutils/gdb/glibc/etc.
|
|
|
|
currently supported)
|
|
are implemented in hardware or via kernel emulation doesn't matter to
the libc code.
|
|
Another little patch fix the configuration for the SH3 targets. The SH3 has
no FPU, but our ldso runs fine on a SH3 target. (I think the
ldso should also run on a SH2 target, so you might want to enable the ldso
for SH2 targets too. But I can't test it, since I have no such a system) :
|
|
|
|
|
|
which should simplify enabling arbitrary architectures.
-Erik
|
|
Here's a patch that implements the beginnings of a rudimentary sh64 port. So
far, this only works static, as I haven't done any of the ldso work yet. I've
also not touched the libpthread stuff yet either, so that's also disabled for
now.
This port was based off of some work that Sean McGoogan at SuperH did for his
initial port, but the this patch doesn't carry over too much from there
(basically the libc/sysdeps/linux/sh64/Makefile (or rather, parts of it),
the setjmp/longjmp stuff (which I had to rewrite portions of it to work with
the new toolchains), etc.).
However, for static, everything appears to work correcly, at least in a hello
world type application.
|
|
- Invert all FORCE_SHAREABLE_TEXT_SEGMENTS checks.
- Define FORCE_SHAREABLE_TEXT_SEGMENTS in the Makefile,
so it can be configured by the config system.
- linuxelf.h inspects that we don't combine FORCE_SHAREABLE_TEXT_SEGMENTS
and SVR4_BUGCOMPAT
- Add a new config option for FORCE_SHAREABLE_TEXT_SEGMENTS
|
|
|
|
|
|
|
|
|
|
|
|
config system. Hopefully I got everything here correct...
-Erik
|
|
-----------------------------------
In extra/Configs/Config.sh
I added the INCLUDE_PTHREADS statement and change the default values for
BUILD_UCLIBC_LDSO and HAVE_SHARED.
-----------------------------------
In extra/scripts/initfini.pl
My last patch removes two labels, which migth be used by the .size statements.
(Sorry, but I'm a perl beginner) I fixed it.
-----------------------------------
In libc/sysdeps/linux/common/initfini.c
I fixed two warnings "nested extern declaration of `i_am_not_a_leaf..
-----------------------------------
In libc/sysdeps/linux/sh/__init_brl.c brk.c sbrk.c
I fixed some compiler warnings which comes from a wrong
inclusion order.
-----------------------------------
|
|
sense to exclude it, gcc always supports long long, and we never
fully excluded long long anyways (off64_t for example).
-Erik
|
|
-Erik
|
|
|
|
|
|
smarter than the old "malloc-simple", and actually works, unlike
the old "malloc". So kill the old "malloc-simple" and the old
"malloc" and replace them with Miles' new malloc implementation.
Update Config files to match. Thanks Miles!
|
|
|
|
-Erik
|
|
-Erik
|
|
|
|
* Moved some file paths from code into <paths.h>
|
|
support for Unix98 PTYs, and optionally exclude the older junk.
|
|
|
|
-Erik
|
|
compile nits with the SH architecture, and support SH4,
|
|
Autodetect target architecture by asking the compiler.
-Erik
|
|
|
|
|
|
|
|
Here is the basic theory of operation:
SHARED_LIB_LOADER_PATH/ <The location where the shared lib
loader will be installed and where the
compiler will cause apps to look for it.>
DEVEL_PREFIX/
bin/ <contains gcc, ld, etc for setting PATH=$DEVEL_PREFIX/bin:$PATH>
lib/ <contains all runtime and static libs>
include/ <Where all the header files go>
SYSTEM_DEVEL_PREFIX/
usr/bin/ <contains arch-uclibc-gcc, arch-uclibc-ld, etc that
might be installed by a .deb or .rpm into /usr/bin,
but can happily live under DEVEL_PREFIX>
PREFIX
This is prepended during 'make install's allowing you to shift things to
be installed under some alternate location (such as when building a .deb)
-Erik
|
|
issues, and syns things (as far as I am willing) with Dave Schleef's
tree. We may need to go another round or so, but we do seem to be
converging...
|
|
few tiny fixups here and there from me. Seems to work just fine and
will hopefully be a bit better behaved.
-Erik
|
|
partial IPV6 support. This adds things like gethostbyname2().
Off by defaut, of course,
|
|
|
|
-Erik
|
|
TARGET_PREFIX to allow more flexibility. Also modified the gcc wrapper
to do the right thing if -Wl,--dynamic-linker,xxx is passed on the command
line. The gcc wrapper will also check the env variable UCLIBC_GCC_LDOPT
for a dynamic linker option at runtime (although command line arg overrides
the env variable).
|
|
in all cases.
|
|
from libm float function support. Also, move all Config files out of the
main directory.
|