[comp.sys.hp] gas 1.38 on HP 9000/300 under hp-ux 7.0

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