From owner-freebsd-current Sun Feb 28 10:21:33 1999 Delivered-To: freebsd-current@freebsd.org Received: from picnic.mat.net (picnic.mat.net [206.246.122.133]) by hub.freebsd.org (Postfix) with ESMTP id 65A611526F for ; Sun, 28 Feb 1999 10:21:29 -0800 (PST) (envelope-from chuckr@mat.net) Received: from localhost (chuckr@localhost) by picnic.mat.net (8.9.3/8.8.5) with ESMTP id NAA85646; Sun, 28 Feb 1999 13:18:50 -0500 (EST) Date: Sun, 28 Feb 1999 13:18:50 -0500 (EST) From: Chuck Robey To: John Polstra Cc: zach@uffdaonline.net, current@FreeBSD.ORG Subject: Re: Some (a.out) world breakage... In-Reply-To: <199902281741.JAA11998@vashon.polstra.com> 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 Sun, 28 Feb 1999, John Polstra wrote: > > I did look in the "broken" file, and noted that ALIGN was defined as 16 > > in the 'ELF' case, and 4 in the 'OUT' case. It looks impossible (to me) > > for 'OUT' to be defined while compiling that file > > (/usr/src/lib/libmd/i386/sha.S). > > > > I guess it's time to quit building a.out? :-) > > This problem can be solved easily. Instead of ".align" the code > should use ".p2align 4", which behaves the same for a.out as it does > for ELF. In test, this didn't work, so I misunderstood something. I'm going to show a segment of file /usr/src/lib/libmd/i386/sha.S: gcc2_compiled.: .text .align ALIGN .globl sha1_block_x86 TYPE(sha1_block_x86,@function) sha1_block_x86: I tried changing the ".align" to ".p2align", and got this error: cc -I/usr/src/lib/libmd -DSHA1_ASM -DELF -DRMD160_ASM -DELF -c /usr/src/lib/libmd/i386/sha.S -o sha.o /usr/tmp/ccx85357.s: Assembler messages: /usr/tmp/ccx85357.s:57: Error: Alignment too large: 15 assumed *** Error code 1 I tried changing ".align" instead to ".p2align" (in case I didn't read you literally enough) and it complained of extra arguments. BTW, in the code, ALIGN is defined earlier to be 4. Last notes: It used to break before this, only in the aout setting. Now it breaks for elf and aout. Also, the other file in ./i386, rmd160.S, has an identical problem. All this is done with the libmd Makefile as original (the fix I worked out with Garrett, to take the assembler files completely out of the aout build, I removed for this test). ----------------------------+----------------------------------------------- Chuck Robey | Interests include any kind of voice or data chuckr@glue.umd.edu | communications topic, C programming, and Unix. 213 Lakeside Drive Apt T-1 | Greenbelt, MD 20770 | I run picnic (FreeBSD-current) (301) 220-2114 | and jaunt (Solaris7). ----------------------------+----------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message