Operating System - HP-UX
1753856 Members
7693 Online
108809 Solutions
New Discussion

Re: Unaligned data access SUPPORT on Integrity

 
Adarsh Thampan
Advisor

Unaligned data access SUPPORT in Itanium

Hi ,

I am porting a HP PARISC code that uses allow_unaligned_data_access();" to Itanium (see attached code) . The code works well on Itanium when linked with libunwind(on PARSIC it used libhppa) . However I have a few clarification

Obviously , If I comment out the line "allow_unaligned_data_access();" , I get a bus error . However when I use the it works fine.

In HPPARISC , I have the variable "extern int unaligned_access_count" that keeps the count of such calls ( use libhppa ) , is there somethign similar for Itanium (using libunalign)as well.

Also when i build the program using the command "/opt/aCC/bin/aCC -Ae +e +Z +Olit=none -Wc,-func_descriptors,pseudo -o test unalignedaccess.c -lunalign" , I see the following unsatisified symbol errors , why is it so ??

/users/yadvecha> /opt/aCC/bin/aCC -Ae +e +Z +Olit=none -Wc,-func_descriptors,pseudo -o test unalignedaccess.c -lunalign
ld: (Warning) Unsatisfied symbol "__uc_get_rsebs" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_get_cfm" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_get_frs" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_set_rsebs" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_get_grs" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_set_frs" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_set_grs" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_get_um" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_get_ar" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_get_cr" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_set_um" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_get_ip" in file /usr/lib/hpux32/libunalign.so
ld: (Warning) Unsatisfied symbol "__uc_set_ip" in file /usr/lib/hpux32/libunalign.so
13 warnings.


?

3 REPLIES 3
Dennis Handly
Acclaimed Contributor

Re: Unaligned data access SUPPORT on Integrity

>I have the variable "unaligned_access_count" that keeps the count of such calls, is there something similar for libunalign as well.

No, libunalign really does nothing, it's all in the kernel.

>when I build the program using the command
aCC -Ae +e +Z +Olit=none -Wc,-func_descriptors,pseudo -o test -lunalign

Why are you using "aCC -e" instead of cc?
Why are you using +Olit=none, you should take the default.
Why are you using -func_descriptors,pseudo, this is only for porting Mainsoft.
Note: Naming the executable "test" isn't a good idea since it is a shell builtin.

>I see the following unsatisfied symbol errors?

You need to add -luca to your link line. Perhaps a newer version of libunalign will include that dependent shlib? What HP-UX version are you using?

Adarsh Thampan
Advisor

Re: Unaligned data access SUPPORT in Itanium

Hi


-luca worked for me .


System/Compiler details

aCC -V
aCC: HP C/aC++ B3910B A.06.15 [May 16 2007]
uname -a
HP-UX HBPTCD28 B.11.23 U ia64 2231872757 unlimited-user license


Dennis Handly
Acclaimed Contributor

Re: Unaligned data access SUPPORT on Integrity

>aCC: A.06.15 [May 16 2007]

The latest version is A.06.25, released last month.  (And now A.06.26.)
I don't see any patches for libunalign and -luca.