Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!lll-winken!uunet!mcsun!ukc!strath-cs!cs.glasgow.ac.uk!bru-cc!eesrajm From: eesrajm@cc.brunel.ac.uk (Andrew J Michael) Newsgroups: comp.os.minix Subject: Re: Unified MINIX GNU port Summary: a.out is indeed the problem Message-ID: <1974@Terra.cc.brunel.ac.uk> Date: 30 Jan 91 06:33:44 GMT References: <43079@nigel.ee.udel.edu> Organization: Brunel University, Uxbridge, UK Lines: 62 In article <43079@nigel.ee.udel.edu>, HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) writes: > Recently there was a posting which stated the need for a unified GNU > port. (stuff deleted) > My question, would it be tolerable to use the originial GNU a.out format and > design a conversion program that converts GNU binaries to MINIX binaries > (yes I hear you crying: ''we have just overcome that odd cv program'') -- > in a later step, it might be possible to modify MM such that it can load > GNU binaries [ I know that the GEM reloaction info is more dense than > the reloc info produced with ld -r ]. (more stuff deleted) > C.v.W. As the poster of the "unified gcc" article, I agree entirely with your comments. The whole problem revolves round the question of the ACK a.out as against the gnu a.out. This is mainly what I was enquiring about when I asked gcc porters to contact me. I have so far seen the following approaches to the solution: 1. Patch gcc-ld, as per bammi's original idea. This is fine until a new version of gcc-ld comes along (as it already has). 2. Add an entirely separate conversion program, as Alan Black did for the 386. This is nice and simple, and does not require alterations to gcc-ld. Unfortunately it also means adding extra lines to every Makefile in existence. 3. Incorporate the gcc-to-minix conversion as an extra stage in gcc-ld. I have already done this for the 386, and it involves minimal changes to gcc-ld, which should be easily portable to newer versions since the conversion code is merely pulled in as a separate file. 4. Get MINIX to load gnu a.out format directly. Alan Black recently implemented this for the 386, but the 68k's need relocation info as well. I would like to see a solution which works for both 386 and 68k, and the 68k would need more work to cope with the gnu relocation info. 5. Bruce Evans has an approach using macros in a.out.h, which I regard as a sort of half-way house. Again this is only for the 386 rather than 68k. I personally feel that the best idea is to get MINIX to accept gnu format programs, so that gnu utilities such as gdb will work without further hacking. However approach 3 above is probably the simplest, and will work on both 68k and 386 without too much difficulty. Comments anyone ? Regards Andy Michael -- Andy Michael (eesrajm@cc.brunel.ac.uk) "You might think that. I 85 Hawthorne Crescent couldn't possibly comment." West Drayton Middlesex UB7 9PA