OK Folks,
as I had some spare time this evening, I went through the proposed docs myself and
found a cc option that works as a workaround.
If the option "-assume noaligned_objects" is added to the parameter value of the
CFLAGS parameter in ~/myldr/Makefile, PAR compiles smoothly. The binaries still
execute with low performance, but do so without errors. Fixing the cause of the
unaligned access would still be of great benefit, but the workaround is usable if
performance is less important.
So, the following are the changes to ~myldr/Makefile (generated by perl Makefile.PL):
6c6
< LD=ld
---
> LD=cc
8c8
< CFLAGS= -fprm d -ieee -std -fprm d -ieee -DLANGUAGE_C -I/usr/lib/perl-5.8.0/l
ib/5.8.0/alpha-dec_osf/CORE
---
> CFLAGS= -assume noaligned_objects -fprm d -ieee -std -fprm d -ieee -DLANGUAGE_
C -I/usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE
The mentioned fix of the ccdlflags parameter value in Config.pm is not needed as cc is
used instead of ld.
Many thanks for sharing PAR!
Peter.
-----Urspr�ngliche Nachricht-----
Von: Klewinghaus, Peter
Gesendet: Tuesday, April 27, 2004 5:25 PM
An: [EMAIL PROTECTED]
Betreff: PAR unaligned access on Tru64 and some install issues
> Dear PARers,
>
> when we install PAR on Tru64 v5.1B (also know as OSF/1 or Digital
> Unix), we have some issues.
>
> First of all, to be able to compile PAR on Tru64 we had to change the
> LD variable value in ~/myldr/Makefile from "ld" to "cc" and changed
> the ccdlflags parameter value in
> /usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/Config.pm from 'Wl,
> -rpath, /usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE' to '-rpath
> /usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE'.
>
> We are then able to compile PAR, perform 'make' and 'make install',
> but get lots of the following messages:
>
"Unaligned access pid=225910 <static> va=0x11fffbbac pc=0x1201a4140
ra=0x1201a5614 inst=0xa4200000"
The background of these messages is briefly explained at
http://wwwrsphysse.anu.edu.au/doc/freeware/faqs/programming.html,
Question 7. More info can be found in the uac manpage and the Tru64 Programmer's Guide.
> pp runs after the compilation, but will also give the same messages
> when called and executes *very* slowly due to the massive amount of
> realignments. All executables generated with pp also show the same
> behavior.
>
> When we use the dbx debugger on the earlier mentioned message, we get
> the following information:
>
> /usr/local/PAR-0.80/myldr> dbx static
> (dbx) 0x1201a4140 / i
> [(unknown), 0x1201a4140] ldq t0, 0(v0) <= This
> command is realigned
(dbx) 0x1201a4130 / 10 i
[(unknown), 0x1201a4130] lda sp, -640(sp)
[(unknown), 0x1201a4134] bis zero, zero, t2
[(unknown), 0x1201a4138] lda v0, 56(a0)
[(unknown), 0x1201a413c] bis zero, sp, t3
[(unknown), 0x1201a4140] ldq t0, 0(v0)
<= This command is realigned
[(unknown), 0x1201a4144] addl t2, 0x1, t2
[(unknown), 0x1201a4148] lda t3, 8(t3)
[(unknown), 0x1201a414c] lda v0, 4(v0)
[(unknown), 0x1201a4150] sll t0, 0x18, t4
As one of you guys please have a look at this. That would be great!
Cheers,
Peter.