On 09-Aug-01 Harti Brandt wrote:
>
> Hello,
>
> some time ago we reported a problem with pxeboot under -current (see below).
> We have tried to track down the problem and it seems to be a bug or a
> feature in gas or libbfd. It turns out, that the output from pxeldr before
> the binutils-2.11 import on 5/29/2001 was 500 bytes long. After the import
> the output has grown to 512 byte. The excess bytes contain a jump to the
> address 512 and a number of NOPs. The result of this is, that the loader
> image which is located imediately after pxeldr is shifted by 12 bytes
> and the address calculations in pxeldr.s are wrong now.
>
> Unfortunately we're not able to find out what new bug^h^h^hfeature of
> gas or libbfd causes this behaviour. A simple workaround is to strip the
> excess bytes from pxeldr just before building pxeboot, but that is REALLY
> ugly:
It is evil. Looks like it is aligning the end of the text even though I
haven't asked. A grotty hack would be to use a org at the end to force pxeldr
to be 512 bytes. Try this:
--- pxeldr.s 2001/02/06 11:20:05 1.6
+++ pxeldr.s 2001/08/09 17:41:38
@@ -277,5 +277,6 @@
bootinfo_msg: .asciz "Building the boot loader arguments\r\n"
relocate_msg: .asciz "Relocating the loader and the BTX\r\n"
jump_message: .asciz "Starting the BTX loader\r\n"
-
+
+ .org 0x200,0x0
end:
--
John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message