[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BUG: linking, akcl on hp800



I am using version 615, that appears to be the latest version?


The h/hp800.h file contains this block of code:

#define LD_COMMAND(command,main,start,input,ldarg,output) \
   { char buf[50];  int i; \
     char *b = &buf[sizeof(buf)]; \
     char *pp=input; \
     *--b = 0; \
     for(i=strlen(pp)-3; i >= 0 ; i--) \
       if (pp[i]!='/') { *(--b) = pp[i];} \
          else break; \
  sprintf(command,\
     " if ld -d -a archive -s -e init_code -A %s -R %x -D0x%x %s %s -o %s /lib/d
yncall.o ; then true; \
      else ld -d -a archive -s -e init_%s -A %s -R %x -D0x%x %s %s -o %s /lib/dy
ncall.o ;fi", \
       main,start,start + data_off, input,ldarg,output, \
       b, \
       main,start,start + data_off, input,ldarg,output);}

The linker complained about bad options to ld.  ld does not seem to have
any -a option on the hp800.  I edited the above lines to remove the 
"-a archive" and recompiled.  Now when I attempt to load object code,
the following happens:

/u/melange/bouma/lisp/num 24 /usr/local/akcl/akcl
AKCL (Austin Kyoto Common Lisp)  Version(1.615) Thu Apr 29 16:22:35 EST 1993
Contains Enhancements by W. Schelter

>(load "prime")
Loading prime.o
ld: Internal Error 4027 (Bad symbol address)
ld: Internal Error 4027 (Bad symbol address)
-----------------------------------------------------------------

The 'if' statement in the LD_COMMAND seems to be in error as well.
My hp800 manual claims that ld returns 0 upon success.


Please send email if you can help me.

Bill <bouma@cs.purdue.edu>