summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/prefix/libprefix.S
diff options
context:
space:
mode:
authorMichael Brown2009-02-15 11:54:52 +0100
committerMichael Brown2009-02-15 11:59:53 +0100
commitc9e5b12473b6d1cfffb78c500b3cd91416d47f84 (patch)
tree9908faa9367e7189974cd4cf1d5db57815830fbf /src/arch/i386/prefix/libprefix.S
parent[i386] Add explicit ""aw", @nobits" declarations to stack sections (diff)
downloadipxe-c9e5b12473b6d1cfffb78c500b3cd91416d47f84.tar.gz
ipxe-c9e5b12473b6d1cfffb78c500b3cd91416d47f84.tar.xz
ipxe-c9e5b12473b6d1cfffb78c500b3cd91416d47f84.zip
[i386] Add explicit flags and type on all .section declarations
Try to avoid future problems caused by implicit section flags and/or type information by instituting a policy that all .section declarations must explicitly state the flags and type. Most of this change was achieved using perl -pi \ -e 's/".text"$/".text", "ax", \@progbits/ ; ' \ -e 's/".text16"$/".text16", "ax", \@progbits/ ; ' \ -e 's/".text16.null"$/".text16.null", "ax", \@progbits/ ; ' \ -e 's/".text16.data"$/".text16.data", "aw", \@progbits/ ; ' \ -e 's/".data"$/".data", "aw", \@progbits/ ; ' \ -e 's/".data16"$/".data16", "aw", \@progbits/ ; ' \ -e 's/".bss"$/".bss", "aw", \@nobits/ ; ' \ -e 's/".bss16"$/".bss16", "aw", \@nobits/ ; ' \ -e 's/".prefix"$/".prefix", "ax", \@progbits/ ; ' \ -e 's/".prefix.lib"$/".prefix.lib", "awx", \@progbits/ ; ' \ -e 's/".prefix.data"$/".prefix.data", "aw", \@progbits/ ; ' \ -e 's/".weak"$/".weak", "a", \@nobits/ ; ' \ `git grep -l '\.section'`
Diffstat (limited to 'src/arch/i386/prefix/libprefix.S')
-rw-r--r--src/arch/i386/prefix/libprefix.S36
1 files changed, 17 insertions, 19 deletions
diff --git a/src/arch/i386/prefix/libprefix.S b/src/arch/i386/prefix/libprefix.S
index 56ca64d9..34eacb90 100644
--- a/src/arch/i386/prefix/libprefix.S
+++ b/src/arch/i386/prefix/libprefix.S
@@ -18,8 +18,6 @@
*/
.arch i386
- .section ".prefix.lib", "awx", @progbits
- .section ".data16", "aw", @progbits
/**
* High memory temporary load address
@@ -53,7 +51,7 @@
* %ds:di : next character in output buffer (if applicable)
*****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
.globl print_character
print_character:
@@ -93,7 +91,7 @@ print_character:
* %ds:di : next character in output buffer (if applicable)
*****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
.globl print_message
print_message:
@@ -123,7 +121,7 @@ print_message:
* %ds:di : next character in output buffer (if applicable)
*****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
.globl print_hex_dword
print_hex_dword:
@@ -171,7 +169,7 @@ print_hex_nibble:
* %ds:di : next character in output buffer (if applicable)
*****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
.globl print_pci_busdevfn
print_pci_busdevfn:
@@ -208,7 +206,7 @@ print_pci_busdevfn:
* %ds:di : next character in output buffer (if applicable)
*****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
.globl print_kill_line
print_kill_line:
@@ -256,7 +254,7 @@ print_kill_line:
#ifndef KEEP_IT_REAL
/* GDT for protected-mode calls */
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.align 16
pm_call_vars:
gdt:
@@ -279,7 +277,7 @@ gdt_end:
.equ gdt_length, . - gdt
.size gdt, . - gdt
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.align 16
pm_saved_gdt:
.long 0, 0
@@ -288,7 +286,7 @@ pm_saved_gdt:
.equ pm_call_vars_size, . - pm_call_vars
#define PM_CALL_VAR(x) ( -pm_call_vars_size + ( (x) - pm_call_vars ) )
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
pm_call:
/* Preserve registers, flags, and RM return point */
@@ -411,7 +409,7 @@ set_seg_base:
* None
****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
copy_bytes:
pushl %ecx
@@ -436,7 +434,7 @@ copy_bytes:
* none
****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
install_block:
@@ -533,7 +531,7 @@ install_block:
* none
****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
.globl alloc_basemem
alloc_basemem:
@@ -581,7 +579,7 @@ alloc_basemem:
* none
****************************************************************************
*/
- .section ".text16"
+ .section ".text16", "ax", @progbits
.code16
.globl free_basemem
free_basemem:
@@ -613,7 +611,7 @@ free_basemem:
ret
.size free_basemem, . - free_basemem
- .section ".text16.data"
+ .section ".text16.data", "aw", @progbits
.globl hooked_bios_interrupts
hooked_bios_interrupts:
.word 0
@@ -633,7 +631,7 @@ hooked_bios_interrupts:
* none
****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
.globl install
install:
@@ -668,7 +666,7 @@ install:
* none
****************************************************************************
*/
- .section ".prefix.lib"
+ .section ".prefix.lib", "awx", @progbits
.code16
.globl install_prealloc
install_prealloc:
@@ -750,7 +748,7 @@ install_prealloc:
.size install_prealloc, . - install_prealloc
/* Vectors for far calls to .text16 functions */
- .section ".data16"
+ .section ".data16", "aw", @progbits
#ifdef KEEP_IT_REAL
init_libkir_vector:
.word init_libkir
@@ -781,7 +779,7 @@ prot_call_vector:
* none
****************************************************************************
*/
- .section ".text16"
+ .section ".text16", "ax", @progbits
.code16
.globl uninstall
uninstall: