vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi again - While trying to get some old code to work under HP-UX 11.11 with a PA-RISC 2.0 CPU-based machine in 64 bit mode I have some assembler code that doesn't compile. Note that I am using gcc 4.2.3 to do this and so I am using the gnu as assembler. Still, this is the "offending" code part: .import $$dyncall,MILLICODE /* sitting at the top of the file */ /* somewhere in a procedure: */ bl $$dyncall,%r31 The linker then barfs and says that $$dyncall is an unsatisfied symbol. Looking at docs from HP (man, I used to work for HP for more than 12 years back then) I see that there's a $$dyncall entry in the 32 bit /usr/lib/libmilli.a but no such symbol in /usr/lib/PA20_64/libmilli.a ... The 64 bit porting info I found also doesn't help. Any ideas? Thanks!!! Best, Frank -- Frank Goenninger frgo(at)mac(dot)com "Don't ask me! I haven't been reading comp.lang.lisp long enough to really know ..." |
| |||
| "Frank Goenninger" <dont-email-me@nomail.org> writes: > Hi again - > > While trying to get some old code to work under HP-UX 11.11 with a > PA-RISC 2.0 CPU-based machine in 64 bit mode I have some assembler > code that doesn't compile. > > Note that I am using gcc 4.2.3 to do this and so I am using the gnu as > assembler. > > Still, this is the "offending" code part: > > .import $$dyncall,MILLICODE /* sitting at the top of the file */ > > /* somewhere in a procedure: */ > > bl $$dyncall,%r31 > > The linker then barfs and says that $$dyncall is an unsatisfied > symbol. Looking at docs from HP (man, I used to work for HP for more > than 12 years back then) I see that there's a $$dyncall entry in the > 32 bit /usr/lib/libmilli.a but no such symbol in > /usr/lib/PA20_64/libmilli.a ... Solved: gcc -march2.0 and static linking ... (I don't know the details, though - it was a monkey style problem solving technique ...) Best, Frank -- Frank Goenninger frgo(at)mac(dot)com "Don't ask me! I haven't been reading comp.lang.lisp long enough to really know ..." |
| |||
| Frank Bennington's wrote: > While trying to get some old code to work under HP-UX 11.11 with a > PA-RISC 2.0 CPU-based machine in 64 bit mode I have some assembler > code that doesn't compile. > bl $$dyncall,%r31 > The linker then barfs and says that $$dyncall is an unsatisfied > symbol. but no such symbol in /usr/lib/PA20_64/libmilli.a ... There is no need for $$dyncall on PA2.0 since there is an instruction that does exactly that BVE,L. >it was a monkey style problem solving technique Yes, looking at a simple example of an indirect call would show that. |
| |||
| Dennis Handly <dhandly@convex.hp.com> writes: > Frank Goenninger wrote: >> While trying to get some old code to work under HP-UX 11.11 with a >> PA-RISC 2.0 CPU-based machine in 64 bit mode I have some assembler >> code that doesn't compile. >> bl $$dyncall,%r31 >> The linker then barfs and says that $$dyncall is an unsatisfied >> symbol. but no such symbol in /usr/lib/PA20_64/libmilli.a ... > > There is no need for $$dyncall on PA2.0 since there is an instruction > that does exactly that BVE,L. > >>it was a monkey style problem solving technique > > Yes, looking at a simple example of an indirect call would show that. You mean like COPY gp, save_gp LDD 16(fp), tmp LDD 24(fp), gp BVE,L (tmp), r2 COPY save_gp, gp ??? Thx! Frank -- Frank Goenninger frgo(at)mac(dot)com "Don't ask me! I haven't been reading comp.lang.lisp long enough to really know ..." |
| |||
| Frank "frgo" a.k.a DG1SBG wrote: > You mean like > COPY gp, save_gp > LDD 16(fp), tmp > LDD 24(fp), gp > BVE,L (tmp), r2 > > COPY save_gp, gp Yes and you'll need to set R29 (same as other calls): LDO -48(%r30),%r29 LDD 16(%r31),%r19 .CALL ;in=26,29;out=28; BVE,L (%r19),%r2 LDD 24(%r31),%r27 LDD -128(%r30),%r27 |
| ||||
| Dennis Handly <dhandly@convex.hp.com> writes: > Yes and you'll need to set R29 (same as other calls): > LDO -48(%r30),%r29 > LDD 16(%r31),%r19 > .CALL ;in=26,29;out=28; > BVE,L (%r19),%r2 > LDD 24(%r31),%r27 > LDD -128(%r30),%r27 Thx!! Best, Frank (formerly been working for HP in Germany for 12 years) -- Frank Goenninger frgo(at)mac(dot)com "Don't ask me! I haven't been reading comp.lang.lisp long enough to really know ..." |