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.


Reply via email to