1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-21 08:42:23 +00:00

SeaBIOS: update to 1.9.2

Sponsored by:		Citrix Systems R&D
Approved by:		bapt
Differential revision:	https://reviews.freebsd.org/D6083
This commit is contained in:
Roger Pau Monné 2016-04-25 09:31:58 +00:00
parent 870f16e844
commit 85ae4cd57f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=413997
3 changed files with 3 additions and 78 deletions

View File

@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= seabios
PORTVERSION= 1.9.1
PORTVERSION= 1.9.2
CATEGORIES= misc
MASTER_SITES= http://code.coreboot.org/p/seabios/downloads/get/
@ -18,8 +18,6 @@ MAKE_ARGS= HOSTCC="${CC}" LD32BIT_FLAG="-melf_i386_fbsd" \
PYTHON="${PYTHON_CMD}"
USE_GCC= yes
EXTRA_PATCHES= ${FILESDIR}/0001-build-fix-.text-section-address-alignment.patch:-p1
PLIST_FILES= ${DATADIR}/bios.bin
do-install:

View File

@ -1,2 +1,2 @@
SHA256 (seabios-1.9.1.tar.gz) = 8a2a562fe5cfd37fe8327cdc4a60accdfe441e235b29e6999fdeb442ba98d608
SIZE (seabios-1.9.1.tar.gz) = 570186
SHA256 (seabios-1.9.2.tar.gz) = f01d459b0e50996fdfa021eea5010776c26f739adba73957af519233165ebbe5
SIZE (seabios-1.9.2.tar.gz) = 570726

View File

@ -1,73 +0,0 @@
From 8a0df37ee2f77a126925dfe9ae1d6a6bd24aad45 Mon Sep 17 00:00:00 2001
From: Kevin O'Connor <kevin@koconnor.net>
Date: Fri, 19 Feb 2016 21:34:16 -0500
Subject: [PATCH] build: fix .text section address alignment
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Some linkers verify that sections have a start address that is aligned
with the minimum alignment of that section. Add extra padding to the
".text" section to ensure it is always aligned with the maximum
alignment of any section placed in ".text".
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reported by: Ed Maste <emaste@FreeBSD.org>
(cherry picked from commit 3910de0dee216d5b5bf23cfa29bfc80d082b2ee7)
---
scripts/layoutrom.py | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/scripts/layoutrom.py b/scripts/layoutrom.py
index b976fb0..6616721 100755
--- a/scripts/layoutrom.py
+++ b/scripts/layoutrom.py
@@ -34,18 +34,22 @@ COMMONTRAILER = """
# Determine section locations
######################################################################
-# Align 'pos' to 'alignbytes' offset
+# Align 'pos' up to 'alignbytes' offset
def alignpos(pos, alignbytes):
mask = alignbytes - 1
return (pos + mask) & ~mask
+# Align 'pos' down to 'alignbytes' offset
+def aligndown(pos, alignbytes):
+ mask = alignbytes - 1
+ return pos & ~mask
+
# Determine the final addresses for a list of sections that end at an
# address.
def setSectionsStart(sections, endaddr, minalign=1, segoffset=0):
totspace = 0
for section in sections:
- if section.align > minalign:
- minalign = section.align
+ minalign = max(minalign, section.align)
totspace = alignpos(totspace, section.align) + section.size
startaddr = int((endaddr - totspace) / minalign) * minalign
curaddr = startaddr
@@ -269,7 +273,7 @@ def doLayout(sections, config, genreloc):
final_sec32low_end = BUILD_LOWRAM_END
zonelow_base = final_sec32low_end - 64*1024
relocdelta = final_sec32low_end - sec32low_end
- li.sec32low_start, li.sec32low_align = setSectionsStart(
+ li.sec32low_start, sec32low_align = setSectionsStart(
sections32low, sec32low_end, 16
, segoffset=zonelow_base - relocdelta)
li.sec32low_end = sec32low_end
@@ -405,6 +409,8 @@ def writeLinkerScripts(li, out16, out32seg, out32flat):
if li.config.get('CONFIG_MULTIBOOT'):
multiboot_header = "LONG(0x1BADB002) LONG(0) LONG(-0x1BADB002)"
sec32all_start -= 3 * 4
+ sec32all_align = max([section.align for section in li.sections])
+ sec32all_start = aligndown(sec32all_start, sec32all_align)
out += outXRefs(filesections32flat, exportsyms=[li.entrysym]) + """
_reloc_min_align = 0x%x ;
zonefseg_start = 0x%x ;
--
2.6.4 (Apple Git-63)