aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2024-01-14 12:12:18 +0000
committerMichael Brown <mcb30@ipxe.org>2024-01-14 12:16:02 +0000
commit6ca597eee9f95b846a3c2dc1231e63cfc02272c1 (patch)
treed837b645a1a808daf92c2577bcff45b8bc198d7c
parente66552eeede19a91b1a52468a550b58fd031777b (diff)
downloadipxe-6ca597eee9f95b846a3c2dc1231e63cfc02272c1.zip
ipxe-6ca597eee9f95b846a3c2dc1231e63cfc02272c1.tar.gz
ipxe-6ca597eee9f95b846a3c2dc1231e63cfc02272c1.tar.bz2
[build] Fix building with newer binutils
Newer versions of the GNU assembler (observed with binutils 2.41) will complain about the ".arch i386" in files assembled with "as --64", with the message "Error: 64bit mode not supported on 'i386'". In files such as stack.S that contain no instructions to be assembled, the ".arch i386" is redundant and may be removed entirely. In the remaining files, fix by moving ".arch i386" below the relevant ".code16" or ".code32" directive, so that the assembler is no longer expecting 64-bit instructions to be used by the time that the ".arch i386" directive is encountered. Reported-by: Ali Mustakim <alim@forwardcomputers.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/arch/i386/core/setjmp.S2
-rw-r--r--src/arch/i386/tests/gdbstub_test.S1
-rw-r--r--src/arch/x86/core/patch_cf.S2
-rw-r--r--src/arch/x86/core/stack.S1
-rw-r--r--src/arch/x86/core/stack16.S1
-rw-r--r--src/arch/x86/drivers/net/undiisr.S2
-rw-r--r--src/arch/x86/interface/pcbios/e820mangler.S2
-rw-r--r--src/arch/x86/interface/pxe/pxe_entry.S1
-rw-r--r--src/arch/x86/prefix/bootpart.S2
-rw-r--r--src/arch/x86/prefix/dskprefix.S2
-rw-r--r--src/arch/x86/prefix/exeprefix.S2
-rw-r--r--src/arch/x86/prefix/hdprefix.S2
-rw-r--r--src/arch/x86/prefix/libprefix.S1
-rw-r--r--src/arch/x86/prefix/lkrnprefix.S2
-rw-r--r--src/arch/x86/prefix/mbr.S2
-rw-r--r--src/arch/x86/prefix/mromprefix.S2
-rw-r--r--src/arch/x86/prefix/nbiprefix.S2
-rw-r--r--src/arch/x86/prefix/nullprefix.S2
-rw-r--r--src/arch/x86/prefix/pxeprefix.S2
-rw-r--r--src/arch/x86/prefix/rawprefix.S2
-rw-r--r--src/arch/x86/prefix/unlzma.S1
-rw-r--r--src/arch/x86/prefix/usbdisk.S2
-rw-r--r--src/arch/x86/transitions/liba20.S1
-rw-r--r--src/arch/x86/transitions/libkir.S2
24 files changed, 22 insertions, 19 deletions
diff --git a/src/arch/i386/core/setjmp.S b/src/arch/i386/core/setjmp.S
index e0bbb7e..cbb5e71 100644
--- a/src/arch/i386/core/setjmp.S
+++ b/src/arch/i386/core/setjmp.S
@@ -2,8 +2,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
.text
- .arch i386
.code32
+ .arch i386
/* Must match jmp_buf structure layout */
.struct 0
diff --git a/src/arch/i386/tests/gdbstub_test.S b/src/arch/i386/tests/gdbstub_test.S
index e0c9e6c..e44c13c 100644
--- a/src/arch/i386/tests/gdbstub_test.S
+++ b/src/arch/i386/tests/gdbstub_test.S
@@ -1,4 +1,5 @@
.section ".note.GNU-stack", "", @progbits
+ .code32
.arch i386
.section ".data", "aw", @progbits
diff --git a/src/arch/x86/core/patch_cf.S b/src/arch/x86/core/patch_cf.S
index ebf6287..62f19e4 100644
--- a/src/arch/x86/core/patch_cf.S
+++ b/src/arch/x86/core/patch_cf.S
@@ -23,8 +23,8 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
- .arch i386
.code16
+ .arch i386
/****************************************************************************
* Set/clear CF on the stack as appropriate, assumes stack is as it should
diff --git a/src/arch/x86/core/stack.S b/src/arch/x86/core/stack.S
index 4934534..1bcaf18 100644
--- a/src/arch/x86/core/stack.S
+++ b/src/arch/x86/core/stack.S
@@ -1,7 +1,6 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
- .arch i386
#ifdef __x86_64__
#define STACK_SIZE 8192
diff --git a/src/arch/x86/core/stack16.S b/src/arch/x86/core/stack16.S
index d3949a5..622887e 100644
--- a/src/arch/x86/core/stack16.S
+++ b/src/arch/x86/core/stack16.S
@@ -1,7 +1,6 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
- .arch i386
/****************************************************************************
* Internal stack
diff --git a/src/arch/x86/drivers/net/undiisr.S b/src/arch/x86/drivers/net/undiisr.S
index aa8991d..8ba5c53 100644
--- a/src/arch/x86/drivers/net/undiisr.S
+++ b/src/arch/x86/drivers/net/undiisr.S
@@ -11,8 +11,8 @@ FILE_LICENCE ( GPL2_OR_LATER )
#define PIC2_ICR 0xa0
.section ".note.GNU-stack", "", @progbits
- .arch i386
.code16
+ .arch i386
.section ".text16", "ax", @progbits
.globl undiisr
diff --git a/src/arch/x86/interface/pcbios/e820mangler.S b/src/arch/x86/interface/pcbios/e820mangler.S
index 40f84c7..ef5dc27 100644
--- a/src/arch/x86/interface/pcbios/e820mangler.S
+++ b/src/arch/x86/interface/pcbios/e820mangler.S
@@ -24,8 +24,8 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
- .arch i386
.code16
+ .arch i386
#define SMAP 0x534d4150
diff --git a/src/arch/x86/interface/pxe/pxe_entry.S b/src/arch/x86/interface/pxe/pxe_entry.S
index 354dd1b..3899e1b 100644
--- a/src/arch/x86/interface/pxe/pxe_entry.S
+++ b/src/arch/x86/interface/pxe/pxe_entry.S
@@ -27,6 +27,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#include <librm.h>
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
/****************************************************************************
diff --git a/src/arch/x86/prefix/bootpart.S b/src/arch/x86/prefix/bootpart.S
index cf75ff7..7b9920f 100644
--- a/src/arch/x86/prefix/bootpart.S
+++ b/src/arch/x86/prefix/bootpart.S
@@ -6,9 +6,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#define STACK_SIZE 0x2000
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
.section ".prefix", "awx", @progbits
- .code16
/*
* Find active partition
diff --git a/src/arch/x86/prefix/dskprefix.S b/src/arch/x86/prefix/dskprefix.S
index f9d3019..e8e55ef 100644
--- a/src/arch/x86/prefix/dskprefix.S
+++ b/src/arch/x86/prefix/dskprefix.S
@@ -26,9 +26,9 @@ FILE_LICENCE ( GPL2_ONLY )
.section ".note.GNU-stack", "", @progbits
.org 0
+ .code16
.arch i386
.section ".prefix", "ax", @progbits
- .code16
.globl _dsk_start
_dsk_start:
diff --git a/src/arch/x86/prefix/exeprefix.S b/src/arch/x86/prefix/exeprefix.S
index 8633348..98ed6c5 100644
--- a/src/arch/x86/prefix/exeprefix.S
+++ b/src/arch/x86/prefix/exeprefix.S
@@ -37,9 +37,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#define PSP_CMDLINE_START 0x81
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
.org 0
- .code16
.section ".prefix", "awx", @progbits
signature:
diff --git a/src/arch/x86/prefix/hdprefix.S b/src/arch/x86/prefix/hdprefix.S
index 1bbf72d..3133dec 100644
--- a/src/arch/x86/prefix/hdprefix.S
+++ b/src/arch/x86/prefix/hdprefix.S
@@ -3,9 +3,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#include <librm.h>
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
.section ".prefix", "awx", @progbits
- .code16
.org 0
.globl _hd_start
_hd_start:
diff --git a/src/arch/x86/prefix/libprefix.S b/src/arch/x86/prefix/libprefix.S
index 380e471..b08a578 100644
--- a/src/arch/x86/prefix/libprefix.S
+++ b/src/arch/x86/prefix/libprefix.S
@@ -27,6 +27,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#include <librm.h>
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
/* Image compression enabled */
diff --git a/src/arch/x86/prefix/lkrnprefix.S b/src/arch/x86/prefix/lkrnprefix.S
index 9f1a2f0..c8a04c9 100644
--- a/src/arch/x86/prefix/lkrnprefix.S
+++ b/src/arch/x86/prefix/lkrnprefix.S
@@ -5,8 +5,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#define BZI_LOAD_HIGH_ADDR 0x100000
.section ".note.GNU-stack", "", @progbits
- .arch i386
.code16
+ .arch i386
.section ".prefix", "ax", @progbits
.globl _lkrn_start
_lkrn_start:
diff --git a/src/arch/x86/prefix/mbr.S b/src/arch/x86/prefix/mbr.S
index b37eed7..5e0ed5d 100644
--- a/src/arch/x86/prefix/mbr.S
+++ b/src/arch/x86/prefix/mbr.S
@@ -1,9 +1,9 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
.section ".prefix", "awx", @progbits
- .code16
.org 0
.globl mbr
diff --git a/src/arch/x86/prefix/mromprefix.S b/src/arch/x86/prefix/mromprefix.S
index 543fd00..d05278e 100644
--- a/src/arch/x86/prefix/mromprefix.S
+++ b/src/arch/x86/prefix/mromprefix.S
@@ -42,8 +42,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#include "pciromprefix.S"
.section ".note.GNU-stack", "", @progbits
- .arch i386
.code16
+ .arch i386
/* Obtain access to payload by exposing the expansion ROM BAR at the
* address currently used by a suitably large memory BAR on the same
diff --git a/src/arch/x86/prefix/nbiprefix.S b/src/arch/x86/prefix/nbiprefix.S
index 0a74ca7..bbacd4b 100644
--- a/src/arch/x86/prefix/nbiprefix.S
+++ b/src/arch/x86/prefix/nbiprefix.S
@@ -3,8 +3,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#include <librm.h>
.section ".note.GNU-stack", "", @progbits
- .arch i386
.code16
+ .arch i386
.section ".prefix", "ax", @progbits
.org 0
diff --git a/src/arch/x86/prefix/nullprefix.S b/src/arch/x86/prefix/nullprefix.S
index bbc697f..426f1f2 100644
--- a/src/arch/x86/prefix/nullprefix.S
+++ b/src/arch/x86/prefix/nullprefix.S
@@ -2,10 +2,10 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
.org 0
+ .code16
.arch i386
.section ".prefix", "ax", @progbits
- .code16
_prefix:
.section ".text16", "ax", @progbits
diff --git a/src/arch/x86/prefix/pxeprefix.S b/src/arch/x86/prefix/pxeprefix.S
index c62a501..5181ef6 100644
--- a/src/arch/x86/prefix/pxeprefix.S
+++ b/src/arch/x86/prefix/pxeprefix.S
@@ -12,9 +12,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#define PXE_HACK_EB54 0x0001
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
.org 0
- .code16
#include <librm.h>
#include <undi.h>
diff --git a/src/arch/x86/prefix/rawprefix.S b/src/arch/x86/prefix/rawprefix.S
index d97b3b5..962c971 100644
--- a/src/arch/x86/prefix/rawprefix.S
+++ b/src/arch/x86/prefix/rawprefix.S
@@ -9,9 +9,9 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
.org 0
- .code16
#include <librm.h>
diff --git a/src/arch/x86/prefix/unlzma.S b/src/arch/x86/prefix/unlzma.S
index 4059090..e4d1e19 100644
--- a/src/arch/x86/prefix/unlzma.S
+++ b/src/arch/x86/prefix/unlzma.S
@@ -44,6 +44,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
*/
.section ".note.GNU-stack", "", @progbits
+ .code32
.arch i486
.section ".prefix.lib", "ax", @progbits
diff --git a/src/arch/x86/prefix/usbdisk.S b/src/arch/x86/prefix/usbdisk.S
index b8fc5e9..11ab6a4 100644
--- a/src/arch/x86/prefix/usbdisk.S
+++ b/src/arch/x86/prefix/usbdisk.S
@@ -3,9 +3,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#include <config/console.h>
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
.section ".prefix", "awx", @progbits
- .code16
.org 0
#include "mbr.S"
diff --git a/src/arch/x86/transitions/liba20.S b/src/arch/x86/transitions/liba20.S
index 6c1bac6..971cff2 100644
--- a/src/arch/x86/transitions/liba20.S
+++ b/src/arch/x86/transitions/liba20.S
@@ -25,6 +25,7 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
/****************************************************************************
diff --git a/src/arch/x86/transitions/libkir.S b/src/arch/x86/transitions/libkir.S
index 5909654..2c4dc94 100644
--- a/src/arch/x86/transitions/libkir.S
+++ b/src/arch/x86/transitions/libkir.S
@@ -32,9 +32,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )
#define BOCHSBP xchgw %bx, %bx
.section ".note.GNU-stack", "", @progbits
+ .code16
.arch i386
.section ".text16", "awx", @progbits
- .code16
/****************************************************************************
* init_libkir (real-mode or 16:xx protected-mode far call)