This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]