I've been working on a port of gcc/binutils/glibc to a new
architecture, the IBM mainframe 360/370/390 architecture. I've got
something sort of working and need some advice & pointers. Long list
follows:
1) where are the latest gcc sources? I'm working on gcc-2.8.1
and have a core dump. Before I hit my head on it too hard, I'd
like to work with the latest.
2) the core dump is in cc1, in cse.c and only occurs when -O2 is
specified. Some instruction that wants to use a condition code
gets scheduled before the condition code is set. This causes a core
dump. Does this sound like a known bug?
3) How does one go about debugging something like this? The -da
flag was interesting, but I have no simple test case to demonstrate
the bug. Any tools I should be aware of?
4) how hard is it to take a gcc machine description file & port it
to egcs? Should I stick to gcc or is egcs really the future?
5) who owns crt0.o? the kernel? libc ? it seems not to be part of
binutils or gcc.
6) what's the best way to bootstrap an elf loader? In particular,
say I wanted to write something that will load and run elf binaries
(that have been linked to glibc) on MVS. What's the quickest way to
hack this up?
7) I'm trying to cross-compile glibc-2.0.6 but the cross-compiler
configure setup is a bit broken & requires nasty hacks. Is
cross-compiling fixed or improved in a later version?
8) what's the secret to configing the right math libs & etc for glibc?
9) is there a way of compiling glibc with support for long-long crippled
out? My version of gcc craps out on long long and I don't feel like
fixing it right now ...
--linas
BTW, old and broken-ish patches to gcc and binutils are at
http://linas.org/linux/i370/ & will have newer patches soon.