Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003937 [OCaml] OCaml general minor always 2005-12-29 10:12 2006-08-30 13:29
Reporter abergou View Status public  
Assigned To xleroy
Priority normal Resolution won't fix  
Status closed   Product Version 3.09.0
Summary 0003937: Wrong ASPPFLAGS on HPUX
Description On HPUX OCaml sets in config/Makefile

ASPPFLAGS="-traditional -c -DSYS_hpux"

Then compilation fails, see additional information.

ASPPFLAGS=" -c -DSYS_hpux"

seems to work.


Christoph Bauer
Additional Information cc -O -traditional -c -DSYS_hpux -o hppa.o hppa.S || \
{ echo "If your assembler produced syntax errors, it is probably unhappy with the"; echo "preprocessor. Check your assembler, or try producing hppa.o by hand."; exit 2; }
cc: error 1400: Option t usage: -t c,name where c may be 1 or more of pc0al.
If your assembler produced syntax errors, it is probably unhappy with the
preprocessor. Check your assembler, or try producing hppa.o by hand.
make[1]: *** [hppa.o] Error 2
make[1]: Leaving directory `/projekte/backup/tools/unix/build/ocaml/ocaml-3.09.0/asmrun'
Tags No tags attached.
Attached Files gz file icon camlasm0dd154.s.gz [^] (259,004 bytes) 2006-01-03 18:07

- Relationships

-  Notes
(0003463)
anonymous (viewer)
2005-12-29 10:38

Aehmm... I should use gcc...
(0003465)
anonymous (viewer)
2005-12-29 11:00

gcc and gnu-as (2.15):

make opt.opt fails:

Warning Y: unused variable bp.
File "pa_o_fast.ml", line 6868, characters 6-8:
Warning Y: unused variable bp.
File "pa_o_fast.ml", line 6895, characters 6-8:
Warning Y: unused variable bp.
File "pa_o_fast.ml", line 7147, characters 26-40:
Warning Y: unused variable s.
File "pa_o_fast.ml", line 7155, characters 30-43:
Warning Y: unused variable s.
File "pa_o_fast.ml", line 7590, characters 6-8:
Warning Y: unused variable bp.
File "pa_o_fast.ml", line 7622, characters 6-8:
Warning Y: unused variable bp.
File "pa_o_fast.ml", line 9539, characters 38-52:
Warning Y: unused variable s.
File "pa_o_fast.ml", line 9547, characters 42-55:
Warning Y: unused variable s.
/tmp/camlasmc78a76.s: Assembler messages:
/tmp/camlasmc78a76.s:99061: Error: Field out of range [-262144..262143] (-267008).
Assembler error, input left in file /tmp/camlasmc78a76.s
make[2]: *** [pa_o_fast.cmx] Error 2
make[2]: Leaving directory `/projekte/backup/tools/unix/build/ocaml/ocaml-3.09.0/camlp4/compile'
make[1]: *** [opt.opt] Error 2
make[1]: Leaving directory `/projekte/backup/tools/unix/build/ocaml/ocaml-3.09.0/camlp4'
make: *** [camlp4optopt] Error 2
(0003466)
anonymous (viewer)
2005-12-29 11:31

get segfaults (e.g. ocamlfind with some options) on HPUX :-((
(0003477)
Christoph Bauer (reporter)
2006-01-02 12:59

BTW, ocaml-3.08.3 runs fine.

cb@snoopy:/home/users/bauer: gdb `which ocamlrun`
HP gdb 3.2 for PA-RISC 1.1 or 2.0 (narrow), HP-UX 11.00.
Copyright 1986 - 2001 Free Software Foundation, Inc.
Hewlett-Packard Wildebeest 3.2 (based on GDB) is covered by the
GNU General Public License. Type "show copying" to see the conditions to
change it and/or distribute copies. Type "show warranty" for warranty/support.
..
(gdb) r `which camlp4`
Starting program: /T/tools/unix/hp7u11/bin/ocamlrun `which camlp4`

Program received signal SIGSEGV, Segmentation fault.
0x22c08 in caml_modify+0x44 ()
(gdb) where
#0 0x22c08 in caml_modify+0x44 ()
#1 0x1dbbc in caml_interprete+0xabc ()
#2 0x20378 in caml_main+0x278 ()
0000003 0xbb30 in main+0x10 ()
(gdb)
(0003481)
xleroy (administrator)
2006-01-03 16:26

The HPPA port of OCaml has always been very sensitive to the toolchain
used. Moreover, we've long lost access to an HPPA machine, therefore
this port is essentially unsupported. I can try to help if
given more context for the crashes, but can't fix anything by myself.
(0003484)
Christoph Bauer (reporter)
2006-01-03 18:40

Ok then I try to activate support for dynamic linking.

config/Makefile
SUPPORTS_SHARED_LIBRARIES=true
SHAREDCCCOMPOPTS=-fPIC
MKSHAREDLIB=gcc -shared -o
MKSHAREDLIBRPATH=-rpath

config/s.h
#define SUPPORT_DYNAMIC_LINKING

$ make install
$ ocaml unix.cma
Cannot load required shared library dllunix.
Reason: Unresolved symbol: caml_local_roots (data) from /T/tools/unix/hp7u11/lib/ocaml/stublibs/dllunix.so.

$ nm `which ocamlrun` | grep caml_local_roots
40005db8 B caml_local_roots
(0003486)
anonymous (viewer)
2006-01-04 12:54

No success with gcc-3.4.5 :-(

The optimized build (e.g. "$ ocaml") leads to an segmention fault.
(0003487)
Christoph Bauer (reporter)
2006-01-04 15:05

The native ocaml compiler looks quite good. I could succesfully compile a larger program with ocamlopt.opt.
(0003488)
Christoph Bauer (reporter)
2006-01-04 15:13

I tested ocaml-3.08.2 again. It has the segmentation problems like ocaml-3.09.0
too.
(0003623)
Christoph Bauer (reporter)
2006-04-19 17:42

(Next round with OCaml-3.09.2 and gcc-4.1.0)

The assembler error message (label address to large) disappears
if I compile pa_o_fast.ml with -compact flag. But then linking fails:

/usr/ccs/bin/ld: Target of unconditional branch is out of range
   Reference from: ../compile/pa_o_fast.o(0x3ffdc)
/usr/ccs/bin/ld: Target of unconditional branch is out of range
   Reference from: ../compile/pa_o_fast.o(0x401f4)
/usr/ccs/bin/ld: Invalid fixups exist
collect2: ld returned 1 exit status
(0003624)
Christoph Bauer (reporter)
2006-04-20 11:21

Good news: the ld error disappears, if everything (camlp4+stdlib) is compiled with -compact -inline 0.
(0003754)
xleroy (administrator)
2006-08-30 13:29

To summarize: all problems but one go away with an appropriate choice of toolchain. The remaining problem (branches out of range for large function definitions) is an ocamlopt problem, and would need to be addressed like we did in the PowerPC code generator. However, lack of access to an HPPA machine (and of general interest for this architecture) means that this will probably never be done. I'm therefore closing this PR.

- Issue History
Date Modified Username Field Change
2005-12-29 10:12 anonymous New Issue
2005-12-29 10:38 anonymous Note Added: 0003463
2005-12-29 11:00 anonymous Note Added: 0003465
2005-12-29 11:31 anonymous Note Added: 0003466
2006-01-02 12:59 Christoph Bauer Note Added: 0003477
2006-01-03 16:26 xleroy Note Added: 0003481
2006-01-03 16:26 xleroy Assigned To => xleroy
2006-01-03 16:26 xleroy Status new => feedback
2006-01-03 18:06 anonymous Note Added: 0003483
2006-01-03 18:07 anonymous File Added: camlasm0dd154.s.gz
2006-01-03 18:40 Christoph Bauer Note Added: 0003484
2006-01-04 12:54 anonymous Note Added: 0003486
2006-01-04 15:05 Christoph Bauer Note Added: 0003487
2006-01-04 15:13 Christoph Bauer Note Added: 0003488
2006-04-19 17:07 Christoph Bauer Issue Monitored: Christoph Bauer
2006-04-19 17:42 Christoph Bauer Note Added: 0003623
2006-04-20 11:21 Christoph Bauer Note Added: 0003624
2006-05-08 10:11 anonymous Note Deleted: 0003483
2006-08-30 13:29 xleroy Note Added: 0003754
2006-08-30 13:29 xleroy Reporter anonymous => abergou
2006-08-30 13:29 xleroy Status feedback => closed
2006-08-30 13:29 xleroy Resolution open => won't fix


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker