zlsiial@uts.mcc.ac.uk (A.V. Le Blanc) (01/29/91)
I have had some difficulty building gas 1.38 under hp-ux 7.0 for an hp 9000/300. The default Makefile fails because the struct exec is defined by the HP include files, not by the GNU include files. Following the suggestion in the Makefile I added -DVMS for compiling input-file.c. Following previous releases of gas, I added -I../binutils/hp-include to the general options, and in struc-symbol.h I include a.out.h instead of a.out.gnu.h, since this is automatically included by the binutils/hp-include/a.out.h. The resulting compilation had only the error that the exec struct in the GNU a.out.h file has no a_info field. To deal with this I added the option -Da_info=a_spare2 to the CFLAGS. The result of this finally compiles with no errors. It runs and produces output files. But when loaded by the GNU ld from binutils (the same June 21 release with the June 28 patch) or with the ld++ from g++, the loader does not recognise the binaries. In fact, (g)ld, (g)nm, and (g)size give variations on the error message `malformed input file (not rel or archive)'. Objdump gives the message `hello.o is not an object file'. HP nm gives `bad magic number', while HP size gives the most useful message: `unrecognized magic number 0x0'. I had similar problems with gas 1.37, which I mentioned on this list, but did not follow them up. Now we are still using gas 1.36. Has no other HP site noticed that gas doesn't work any more? Yours, A. V. Le Blanc ZLSIIAL@UK.AC.MCC.CMS
zlsiial@uts.mcc.ac.uk (A.V. Le Blanc) (01/30/91)
The problem I reporter earlier with gas 1.38 persists with gas 1.38.1; The .o files produced are not recognised by the GNU loader. Yours, A. V. Le Blanc ZLSIIAL@UK.AC.MCC.CMS