From owner-freebsd-current Thu Aug 19 19:20:31 1999 Delivered-To: freebsd-current@freebsd.org Received: from herring.nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (Postfix) with ESMTP id 1DA3915232; Thu, 19 Aug 1999 19:20:22 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from salmon.nlsystems.com (salmon.nlsystems.com [10.0.0.3]) by herring.nlsystems.com (8.9.3/8.8.8) with ESMTP id DAA21492; Fri, 20 Aug 1999 03:28:06 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Fri, 20 Aug 1999 03:28:06 +0100 (BST) From: Doug Rabson To: Andrew Gallatin Cc: current@FreeBSD.ORG, alpha@FreeBSD.ORG Subject: Re: cc -O broken in -current for Alpha KLDs In-Reply-To: <14268.1961.256187.86499@grasshopper.cs.duke.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, 19 Aug 1999, Andrew Gallatin wrote: > > I do most of my development on alphas & I just turned some local code > into a loadable kernel module. It works fine when compiled into the > kernel statically, but fails miserably when loaded into an alpha > kernel as a module. This alpha is running -current from monday or > so. > > After a day or so of debugging, I decided to run > it on an x86 -- it ran just fine. I've narrowed the problem down to > one involving optimization and have extracted a simple, reproducable > test case. > > When the test module is loaded without optimization (CFLAGS += -g > -O0), it prints the following (which is correct): It looks like we aren't handling the relocations correctly. When I get a chance, I will try to look at it. If you want to have another look, the code at fault is probably in alpha/alpha/elf_machdep.c and you can get a list of relocations in the module with 'objdump --dynamic-reloc foo.ko'. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message