This is the mail archive of the
crossgcc@sourceware.org
mailing list for the crossgcc project.
See the CrossGCC FAQ for lots
more information.
s390/s390x support implemented
- From: Harold Grovesteen <h dot grovsteen at tx dot rr dot com>
- To: crossgcc at sourceware dot org
- Date: Mon, 09 Nov 2009 05:29:20 -0600
- Subject: s390/s390x support implemented
Before getting into the details of what I needed to do, I want to thank
all who have contributed to crosstool-ng. This is a very powerful system.
Over the weekend I managed to get s390 and s390x to be supported by
crosstool-ng. The tuples end up being s390[x]-ibm-linux-gnu. Not sure
how the ibm part was figured out. Validated that the libraries in
sys-root are ELF s390 32-bit or 64-bit. This suggests that the tools work.
I had to add CT_DEBUG_CT_SAVE_STEPS="y" to s390[x].sh in function
CT_DoArchTupleValues. Could not find where to set this in the config,
Did I miss something? I tried selecting it in s390[x].in, but this did
not seem to work. Should it have?
Also had problems with libc headers. Needed to add
--target=${CT_TARGET} to the configure statement in function
do_libc_headers in gblibc.sh. This resulted from a conflict in the
ability of the x86-64 host to support --with-long-double-128 required by
s390[x]. How this impacts crosstool-ng overall is beyond me. Without
--target, the configure checked to determine if the CT_BUILD system (the
value used for --host) supported -mlong-double-128. x86-64 does not, so
the configure failed. (The build log said that --build, --host and
--target should be used. When I observed that --target was missing, I
supplied it and this got everything to move past that point.)
Ran into errors building the debug facilities. Have not looked at this
is detail. My goal was to build the toolchains and that was
successful. Also, I have no illusion that uclibc or eglibc will work
with s390 or bare-metal will work. I started with glibc because I
already knew that could be built with the original crosstool. My
experience in the past suggests that bare-metal will not work out of the
box, so to speak. The configure options
I installed mercurial and cloned the repository, followed by a qinit.
Can I add the new modules at this point and have them included in the
patches? How should the patches be created? I have never used
mercurial, so I figured I would ask first rather then doing something
that is not usable.
Thanks,
Harold Grovesteen
--
For unsubscribe information see http://sourceware.org/lists.html#faq