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


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

Reply via email to