summaryrefslogtreecommitdiff
path: root/sub/syslinux/syslinux-gcc5-2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sub/syslinux/syslinux-gcc5-2.patch')
-rw-r--r--sub/syslinux/syslinux-gcc5-2.patch292
1 files changed, 0 insertions, 292 deletions
diff --git a/sub/syslinux/syslinux-gcc5-2.patch b/sub/syslinux/syslinux-gcc5-2.patch
deleted file mode 100644
index da436f6..0000000
--- a/sub/syslinux/syslinux-gcc5-2.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-From 0cc9a99e560a2f52bcf052fd85b1efae35ee812f Mon Sep 17 00:00:00 2001
-From: Sylvain Gault <sylvain.gault@gmail.com>
-Date: Tue, 29 Sep 2015 04:45:09 +0200
-Subject: [PATCH 1/1] bios: Don't try to guess the sections alignment
-
-For the compression / decompression to succeed, the sections layout must
-be the same between the virtual memory and load memory. The section
-alignment was kept in sync by introducing aligment that should be
-greater or equal to the actual section alignment.
-
-This patch compute the load memory addresses of the sections so that
-the layout is the same as the virtual memory addresses.
-
-Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
-Tested-by: poma <pomidorabelisima@gmail.com>
-Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
----
- core/i386/syslinux.ld | 63 ++++++++++---------------------------------------
- core/x86_64/syslinux.ld | 63 ++++++++++---------------------------------------
- 2 files changed, 24 insertions(+), 102 deletions(-)
-
-diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
-index 7390451..92b75b1 100644
---- a/core/i386/syslinux.ld
-+++ b/core/i386/syslinux.ld
-@@ -255,10 +255,9 @@ SECTIONS
- . = 0x100000;
-
- __pm_code_start = .;
-+ __vma_to_lma = __pm_code_lma - __pm_code_start;
-
-- __text_vma = .;
-- __text_lma = __pm_code_lma;
-- .text : AT(__text_lma) {
-+ .text : AT(ADDR(.text) + __vma_to_lma) {
- FILL(0x90909090)
- __text_start = .;
- *(.text)
-@@ -266,106 +265,68 @@ SECTIONS
- __text_end = .;
- }
-
-- . = ALIGN(32);
--
-- __rodata_vma = .;
-- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
-- .rodata : AT(__rodata_lma) {
-+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
- __rodata_start = .;
- *(.rodata)
- *(.rodata.*)
- __rodata_end = .;
- }
-
-- . = ALIGN(4);
--
-- __ctors_vma = .;
-- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
-- .ctors : AT(__ctors_lma) {
-+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
- __ctors_start = .;
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- __ctors_end = .;
- }
-
-- __dtors_vma = .;
-- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
-- .dtors : AT(__dtors_lma) {
-+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
- __dtors_start = .;
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- __dtors_end = .;
- }
-
-- . = ALIGN(4);
--
-- __dynsym_vma = .;
-- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
-- .dynsym : AT(__dynsym_lma) {
-+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
- __dynsym_start = .;
- *(.dynsym)
- __dynsym_end = .;
- }
- __dynsym_len = __dynsym_end - __dynsym_start;
-
-- . = ALIGN(4);
--
-- __dynstr_vma = .;
-- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
-- .dynstr : AT(__dynstr_lma) {
-+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
- __dynstr_start = .;
- *(.dynstr)
- __dynstr_end = .;
- }
- __dynstr_len = __dynstr_end - __dynstr_start;
-
-- . = ALIGN(4);
--
-- __gnu_hash_vma = .;
-- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
-- .gnu.hash : AT(__gnu_hash_lma) {
-+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
- __gnu_hash_start = .;
- *(.gnu.hash)
- __gnu_hash_end = .;
- }
-
-
-- . = ALIGN(4);
--
-- __dynlink_vma = .;
-- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
-- .dynlink : AT(__dynlink_lma) {
-+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
- __dynlink_start = .;
- *(.dynlink)
- __dynlink_end = .;
- }
-
-- . = ALIGN(4);
--
-- __got_vma = .;
-- __got_lma = __got_vma + __text_lma - __text_vma;
-- .got : AT(__got_lma) {
-+ .got : AT(ADDR(.got) + __vma_to_lma) {
- __got_start = .;
- KEEP (*(.got.plt))
- KEEP (*(.got))
- __got_end = .;
- }
-
-- . = ALIGN(4);
--
-- __dynamic_vma = .;
-- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
-- .dynamic : AT(__dynamic_lma) {
-+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
- __dynamic_start = .;
- *(.dynamic)
- __dynamic_end = .;
- }
-
-- . = ALIGN(32);
--
-- __data_vma = .;
-- __data_lma = __data_vma + __text_lma - __text_vma;
-- .data : AT(__data_lma) {
-+ .data : AT(ADDR(.data) + __vma_to_lma) {
- __data_start = .;
- *(.data)
- *(.data.*)
-diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld
-index bf815c4..70c6e00 100644
---- a/core/x86_64/syslinux.ld
-+++ b/core/x86_64/syslinux.ld
-@@ -255,10 +255,9 @@ SECTIONS
- . = 0x100000;
-
- __pm_code_start = .;
-+ __vma_to_lma = __pm_code_lma - __pm_code_start;
-
-- __text_vma = .;
-- __text_lma = __pm_code_lma;
-- .text : AT(__text_lma) {
-+ .text : AT(ADDR(.text) + __vma_to_lma) {
- FILL(0x90909090)
- __text_start = .;
- *(.text)
-@@ -266,106 +265,68 @@ SECTIONS
- __text_end = .;
- }
-
-- . = ALIGN(32);
--
-- __rodata_vma = .;
-- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
-- .rodata : AT(__rodata_lma) {
-+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
- __rodata_start = .;
- *(.rodata)
- *(.rodata.*)
- __rodata_end = .;
- }
-
-- . = ALIGN(4);
--
-- __ctors_vma = .;
-- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
-- .ctors : AT(__ctors_lma) {
-+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
- __ctors_start = .;
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- __ctors_end = .;
- }
-
-- __dtors_vma = .;
-- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
-- .dtors : AT(__dtors_lma) {
-+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
- __dtors_start = .;
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- __dtors_end = .;
- }
-
-- . = ALIGN(4);
--
-- __dynsym_vma = .;
-- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
-- .dynsym : AT(__dynsym_lma) {
-+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
- __dynsym_start = .;
- *(.dynsym)
- __dynsym_end = .;
- }
- __dynsym_len = __dynsym_end - __dynsym_start;
-
-- . = ALIGN(4);
--
-- __dynstr_vma = .;
-- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
-- .dynstr : AT(__dynstr_lma) {
-+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
- __dynstr_start = .;
- *(.dynstr)
- __dynstr_end = .;
- }
- __dynstr_len = __dynstr_end - __dynstr_start;
-
-- . = ALIGN(4);
--
-- __gnu_hash_vma = .;
-- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
-- .gnu.hash : AT(__gnu_hash_lma) {
-+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
- __gnu_hash_start = .;
- *(.gnu.hash)
- __gnu_hash_end = .;
- }
-
-
-- . = ALIGN(4);
--
-- __dynlink_vma = .;
-- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
-- .dynlink : AT(__dynlink_lma) {
-+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
- __dynlink_start = .;
- *(.dynlink)
- __dynlink_end = .;
- }
-
-- . = ALIGN(4);
--
-- __got_vma = .;
-- __got_lma = __got_vma + __text_lma - __text_vma;
-- .got : AT(__got_lma) {
-+ .got : AT(ADDR(.got) + __vma_to_lma) {
- __got_start = .;
- KEEP (*(.got.plt))
- KEEP (*(.got))
- __got_end = .;
- }
-
-- . = ALIGN(4);
--
-- __dynamic_vma = .;
-- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
-- .dynamic : AT(__dynamic_lma) {
-+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
- __dynamic_start = .;
- *(.dynamic)
- __dynamic_end = .;
- }
-
-- . = ALIGN(32);
--
-- __data_vma = .;
-- __data_lma = __data_vma + __text_lma - __text_vma;
-- .data : AT(__data_lma) {
-+ .data : AT(ADDR(.data) + __vma_to_lma) {
- __data_start = .;
- *(.data)
- *(.data.*)
---
-2.7.4.GIT
-