From owner-freebsd-alpha Fri Feb 8 14:48:43 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from rwcrmhc52.attbi.com (rwcrmhc52.attbi.com [216.148.227.88]) by hub.freebsd.org (Postfix) with ESMTP id 30E4937B41F for ; Fri, 8 Feb 2002 14:48:39 -0800 (PST) Received: from peter3.wemm.org ([12.232.27.13]) by rwcrmhc52.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020208224838.PIMH1147.rwcrmhc52.attbi.com@peter3.wemm.org> for ; Fri, 8 Feb 2002 22:48:38 +0000 Received: from overcee.wemm.org (overcee.wemm.org [10.0.0.3]) by peter3.wemm.org (8.11.0/8.11.0) with ESMTP id g18Mmcs91631 for ; Fri, 8 Feb 2002 14:48:38 -0800 (PST) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.wemm.org (Postfix) with ESMTP id 2037039F1; Fri, 8 Feb 2002 14:48:38 -0800 (PST) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: John Polstra Cc: Andrew Gallatin , freebsd-alpha@FreeBSD.ORG Subject: Re: more on recent current alpha rtld/binutils breakage. In-Reply-To: Date: Fri, 08 Feb 2002 14:48:38 -0800 From: Peter Wemm Message-Id: <20020208224838.2037039F1@overcee.wemm.org> Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org John Polstra wrote: > On 08-Feb-02 Andrew Gallatin wrote: > > > > So its like the _rtld function hasn't been relocated. > > It's called from rtld-elf/alpha/rtld_start.S, and there's some code > just before that point which is supposed to relocate the global > offset table in order to make that possible. I think that's the > area where things are going wrong. The relocation records are different now: ld-elf.so.1.hosed: file format elf64-alpha DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE 000000000002bba0 RELATIVE *ABS*+0x000000000002bb98 000000000002bbb0 RELATIVE *ABS*+0x000000000002bba8 000000000002bbc0 RELATIVE *ABS*+0x000000000002bbb8 000000000002bbc8 RELATIVE *ABS*+0x0000000000007d80 000000000002bbd0 RELATIVE *ABS*+0x0000000000009d60 000000000002bbd8 RELATIVE *ABS*+0x0000000000009f20 .... 000000000002e080 RELATIVE *ABS*+0x000000000002d388 000000000002e088 RELATIVE *ABS*+0x000000000002e158 000000000002d4a8 GLOB_DAT __syscall 000000000002d4b0 GLOB_DAT __sysctl 000000000002d4c0 GLOB_DAT _pthread_mutex_lock ... versus: ld-elf.so.1: file format elf64-alpha DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE 000000000002bcc8 RELATIVE *ABS* 000000000002bcd8 RELATIVE *ABS* 000000000002bce8 RELATIVE *ABS* 000000000002bcf0 RELATIVE *ABS* 000000000002bcf8 RELATIVE *ABS* 000000000002bd00 RELATIVE *ABS* 000000000002bd08 RELATIVE *ABS* 000000000002bd10 RELATIVE *ABS* 000000000002bd18 RELATIVE *ABS* 000000000002bd20 RELATIVE *ABS* ... 000000000002e0a0 RELATIVE *ABS* 000000000002e0a8 RELATIVE *ABS* 000000000002d4d0 GLOB_DAT __syscall 000000000002d4d8 GLOB_DAT __sysctl 000000000002d4e8 GLOB_DAT _pthread_mutex_lock ... If I had to guess, I'd say that the relocation fixup code around rtld_start.S does not handle ADDEND type relocations properly, and ld is now emitting them. Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message