gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gm2] GM2 on HP-UX 11.11 (PARISC) Status Report


From: Gaius Mulley
Subject: Re: [Gm2] GM2 on HP-UX 11.11 (PARISC) Status Report
Date: 07 Jan 2007 18:05:33 +0000
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

John O Goyo <address@hidden> writes:

> Trying to build GM2 (2006-12-18) on HP-UX B.11.11 PA-RISC 9000/785.
> The story so far...
> 
> 0. I obtained gcc 4.1.1 binaries from HP and the core source
> distribution from GNU.
> 
> 1. I configured, built, and installed gcc 4.1.1 using the
> configuration line below.  The installed binaries can compile and link
> a C programme so I know that I am starting from a sane environment.
> 
> CC=gcc CONFIG_SHELL=/opt/OpenSource/bin/bash
> ../../src/gcc-4.1.1/configure --prefix=/home/build/bin/gcc
> --exec-prefix=/home/build/bin/gcc --host=hppa2.0-hp-hpux11.11
> --with-gnu-as --with-as=/usr/local/bin/gas --without-gnu-ld
> --with-ld=/usr/ccs/bin/ld --enable-languages=c
> 
> 
> 2. I added gm2 to the mix.  I first discovered that gcc 4.1.1 on HP-UX
> 11.11 does not support dwarf-2.  The option --without-dwarf2 was
> ignored to work so I removed references to dwarf-2 in Make-lang.in.

Hi John,

thanks for this report - I'll try and honour this switch.  I also
notice that one of the prefix switches are not honoured either
which occurs when trying to produce a debian package.

> 3. The script tools-src/createUlmSys fails.  I suspect that somewhere
> in my environment, the shell is being changed from bash to something
> else. I failed to find the place so I moved createUlmSys to
> createUlmSys.orig and replaced the former with the following
> invocation.
>       /opt/OpenSource/bin/bash $(TOOLS-SRC)/createUlmSys.orig $*
> 
> The build now succeeds.

well done, I guess the configure inside gm2 should check for the
availability of sh and invoke the script appropriately


> 3. I tried gmake gm2.paranoid.  The linker seems unable to find any of
> the symbols:
> 
> ranlib gm2/gm2-libs/libgm2.a
> gcc   -g -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
> -Wmissing-prototypes     -DHAVE_CONFIG_H  -o stage2/gm2/cc1gm2
> gm2/gccgm2.o gm2/gm2builtins.o gm2/gm2-lang.o gm2/stor-layout.o
> gm2/gm2-compiler/gm2.a gm2/gm2-libs/libgm2.a          \
>                                gm2/gm2-compiler/m2flex.o main.o
> libbackend.a ../libcpp/libcpp.a ../libcpp/libcpp.a -lintl -liconv
> ../libiberty/libiberty.a
> /usr/ccs/bin/ld: Unsatisfied symbols:
>     memset (first referenced in gm2/gm2-compiler/gm2.a(Indexing.o)) (data)
>     SymbolTable_GetVarPointerCheck (first referenced in
> gm2/gm2-compiler/gm2.a(M2Quads.o)) (data)
>     gm2builtins_BuiltInAlloca (first referenced in
> gm2/gm2-compiler/gm2.a(M2GenGCC.o)) (data)
>     SymbolTable_IsTemporary (first referenced in
> gm2/gm2-compiler/gm2.a(M2Quads.o)) (data)
>     M2Entity_IsLValue (first referenced in
> gm2/gm2-compiler/gm2.a(M2SubExp.o)) (data)
>     [...lots of symbols...]

I've not seen this problem recently.  Does it succeed building
stage2/gm2/cc1gm2 or does it fail on linking stage3/gm2/cc1gm2 ?


> 4. Nevertheless, I tried installation.  The binaries installed but not
> the libraries.  In particular, I can compile Hello.mod but not link it
> (vide infra).
> 
> heap: tst=> cat Hello.mod
> MODULE Hello;
> 
> FROM StrIO IMPORT WriteString, WriteLn;
> 
> BEGIN
>    WriteString( "GM2 on HP-UX -- wot the ..." );
>    WriteLn
> END Hello.
> 
> heap: tst=> gm2 -c -I. Hello.mod
> heap: tst=> file Hello.*
> Hello.mod:      pascal program text
> Hello.o:        PA-RISC1.1 relocatable object

good so far..

> heap: tst=> gm2 -o Hello Hello.mod
> /usr/ccs/bin/ld: Unsatisfied symbols:
>     Assertion_Assert (first referenced in
> /var/tmp//ccGzWneL.a(DynamicStrings.o)) (data)
>     FIO_GetUnixFileDescriptor (first referenced in
> /var/tmp//ccGzWneL.a(IO.o)) (data)
>     [...]
>     StdIO_Read (first referenced in /var/tmp//cccWJTHl.a(StrIO.o)) (data)
>     StrIO_ReadString (first referenced in
> /var/tmp//cccWJTHl.a(NumberIO.o)) (data)
> /usr/ccs/bin/ld: (Warning) Linker features were used that may not be
> supported in future releases. The +vallcompatwarnings option can be
> used to display more details, and the ld(1) man page contains
> additional information. This warning can be suppressed with the
> +vnocompatwarnings option.
> collect2: ld returned 1 exit status
> 
> I am continuing.  Suggestions are more than welcome.

I'd try to get the stage2/gm2/cc1gm2 or stage3/gm2/cc1gm2 to work.
Once these work then the hello world should also link (maybe).  Also
the stage2/gm2/cc1gm2 is an easier problem to solve as the linking is
achieved by:

 gcc foo.o foobar.a etc etc

rather than invoking the gm2 linking programs (and the
gm2/Make-lang.in can be modified to try different approaches).  So
although linking the stage2/gm2/cc1gm2 results in a huge executable it
should be easier to see what is happening,

regards,
Gaius




reply via email to

[Prev in Thread] Current Thread [Next in Thread]