diff --git a/src/arch/i386/prefix/dskprefix.S b/src/arch/i386/prefix/dskprefix.S index 0f4b3ba0..78a108b5 100644 --- a/src/arch/i386/prefix/dskprefix.S +++ b/src/arch/i386/prefix/dskprefix.S @@ -27,6 +27,8 @@ FILE_LICENCE ( GPL2_ONLY ) .text .section ".prefix", "ax", @progbits .code16 + .globl start +start: jmp $BOOTSEG, $go /* reload cs:ip to match relocation addr */ go: diff --git a/src/arch/i386/prefix/hdprefix.S b/src/arch/i386/prefix/hdprefix.S index 820bad35..a471aa0d 100644 --- a/src/arch/i386/prefix/hdprefix.S +++ b/src/arch/i386/prefix/hdprefix.S @@ -5,6 +5,8 @@ FILE_LICENCE ( GPL2_OR_LATER ) .section ".prefix", "awx", @progbits .code16 .org 0 + .globl start +start: movw $load_image, %bp jmp find_active_partition diff --git a/src/arch/i386/prefix/lkrnprefix.S b/src/arch/i386/prefix/lkrnprefix.S index 3be43ae5..7577a8a1 100644 --- a/src/arch/i386/prefix/lkrnprefix.S +++ b/src/arch/i386/prefix/lkrnprefix.S @@ -49,6 +49,8 @@ FILE_LICENCE ( GPL_ANY ) .arch i386 .org 0 .section ".prefix", "ax", @progbits + .globl start +start: /* This is a minimal boot sector. If anyone tries to execute it (e.g., if a .lilo file is dd'ed to a floppy), print an error message. diff --git a/src/arch/i386/prefix/nbiprefix.S b/src/arch/i386/prefix/nbiprefix.S index 16d22de8..b93170e5 100644 --- a/src/arch/i386/prefix/nbiprefix.S +++ b/src/arch/i386/prefix/nbiprefix.S @@ -17,7 +17,7 @@ file_header: .byte 0 .byte 0 /* No flags */ .word 0x0000, 0x07c0 /* Load header to 0x07c0:0x0000 */ - .word entry, 0x07c0 /* Start execution at 0x07c0:entry */ + .word start, 0x07c0 /* Start execution at 0x07c0:entry */ .size file_header, . - file_header /***************************************************************************** @@ -49,7 +49,8 @@ memlen: .long -512 * NBI entry point ***************************************************************************** */ -entry: + .globl start +start: /* Install iPXE */ call install @@ -71,7 +72,7 @@ entry: int $0x19 .previous - .size entry, . - entry + .size start, . - start nbi_header_end: .org 512 diff --git a/src/arch/i386/prefix/pxeprefix.S b/src/arch/i386/prefix/pxeprefix.S index 1f5930af..0bfd0ae3 100644 --- a/src/arch/i386/prefix/pxeprefix.S +++ b/src/arch/i386/prefix/pxeprefix.S @@ -24,6 +24,8 @@ FILE_LICENCE ( GPL2_OR_LATER ) ***************************************************************************** */ .section ".prefix", "ax", @progbits + .globl start +start: jmp $0x7c0, $1f 1: /* Preserve registers for possible return to PXE */ diff --git a/src/arch/i386/prefix/romprefix.S b/src/arch/i386/prefix/romprefix.S index b2bff14e..53af422a 100644 --- a/src/arch/i386/prefix/romprefix.S +++ b/src/arch/i386/prefix/romprefix.S @@ -45,6 +45,8 @@ FILE_LICENCE ( GPL2_OR_LATER ) .code16 .arch i386 .section ".prefix", "ax", @progbits + .globl start +start: .org 0x00 romheader: diff --git a/src/arch/i386/scripts/i386.lds b/src/arch/i386/scripts/i386.lds index c5bc631f..dd07194c 100644 --- a/src/arch/i386/scripts/i386.lds +++ b/src/arch/i386/scripts/i386.lds @@ -5,6 +5,8 @@ * */ +ENTRY ( start ) + SECTIONS { /* Each section starts at a virtual address of zero.