Subject: Re: errors building world
To: Brian Hechinger <wonko@tmok.com>
From: Klaus Klein <kleink@uni-trier.de>
List: port-alpha
Date: 06/13/2001 22:12:51
Brian Hechinger <wonko@tmok.com> writes:

> On Wed, Jun 13, 2001 at 03:55:48PM -0400, Brian Hechinger wrote:
> > here's what i get from the netbsd-1-5 tree on my DEC 3000/300LX
> > 
> > all ===> lib/csu/alpha
> > cc -O2 -fPIC -Werror   -DLIBC_SCCS -DPIC -DDYNAMIC -DELFSIZE=64 -I/home/src/lib/csu/alpha/../../../libexec/ld.elf_so -I/home/src/lib/csu/alpha/../common_elf -I/home/src/lib/csu/alpha/../../libc/dlfcn -c -DCRT0 crt0.c -o crt0.o
> > In file included from /home/src/lib/csu/alpha/../common_elf/common.h:51,
> >                  from crt0.c:37:
> > /home/src/lib/csu/alpha/../../../libexec/ld.elf_so/rtld.h:163: syntax error before `*'
> > /home/src/lib/csu/alpha/../../../libexec/ld.elf_so/rtld.h:164: syntax error before `*'
> > /home/src/lib/csu/alpha/../../../libexec/ld.elf_so/rtld.h:167: syntax error before `*'
> > /home/src/lib/csu/alpha/../../../libexec/ld.elf_so/rtld.h:168:
syntax error before `*'

Judging from the following change it looks like your <sys/exec_elf.h>
is out of date; make sure you have at least revision 1.37.4.2
installed.

> heat must be frying my brain:
> 
> changed:
> 
>         const Elf_Rela *rela;           /* Relocation entries */
>         const Elf_Rela *relalim;        /* Limit of Relocation entries */
>         const Elf_Rela *pltrela;        /* PLT relocation entries */
>         const Elf_Rela *pltrelalim;     /* Limit of PLT relocation entries */
> 
> to:
> 
>         const Elf_Rel  *rela;           /* Relocation entries */
>         const Elf_Rel  *relalim;        /* Limit of Relocation entries */
>         const Elf_Rel  *pltrela;        /* PLT relocation entries */
>         const Elf_Rel  *pltrelalim;     /* Limit of PLT relocation entries */
> 
> and now it works.

This change is not correct; ld.elf_so uses relocation entries with
addends in its internal representation, so at the very least
attempting to build it with this change will fail.