nasm: bump version to 2.14.02 (#4631)

patch Makefile to replace -I with -iquote
This commit is contained in:
trungnt2910
2020-01-25 20:45:28 +07:00
committed by Jérôme Duval
parent 0e6576f4b5
commit 35cab5da41
3 changed files with 71 additions and 56 deletions

View File

@@ -1,37 +1,46 @@
SUMMARY="The Nasm assembler"
SUMMARY="The NASM assembler"
DESCRIPTION="The Netwide Assembler, NASM, is an 80x86 and x86-64 assembler \
designed for portability and modularity. It supports a range of object file
designed for portability and modularity. It supports a range of object file \
formats, including Linux and *BSD a.out, ELF, COFF, Mach-O, Microsoft 16-bit \
OBJ, Win32 and Win64. It will also output plain binary files. Its syntax is \
designed to be simple and easy to understand, similar to Intel's but less \
complex. It supports all currently known x86 architectural extensions, and \
has strong support for macros."
HOMEPAGE="https://www.nasm.us/"
COPYRIGHT="1996-2016 NASM Authors"
COPYRIGHT="1996-2018 The NASM Authors"
LICENSE="BSD (2-clause)"
REVISION="1"
SOURCE_URI="https://www.nasm.us/pub/nasm/releasebuilds/$portVersion/nasm-$portVersion.tar.bz2"
CHECKSUM_SHA256="00b0891c678c065446ca59bcee64719d0096d54d6886e6e472aeee2e170ae324"
CHECKSUM_SHA256="34fd26c70a277a9fdd54cb5ecf389badedaf48047b269d1008fbc819b24e80bc"
PATCHES="nasm-$portVersion.patchset"
ARCHITECTURES="x86_gcc2 x86 x86_64"
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
commandBinDir=$binDir
commandSuffix=$secondaryArchSuffix
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
nasm = $portVersion compat >= 1
cmd:nasm = $portVersion compat >= 1
cmd:ndisasm = $portVersion compat >= 1
nasm$secondaryArchSuffix = $portVersion compat >= 1
cmd:nasm$commandSuffix = $portVersion compat >= 1
cmd:ndisasm$commandSuffix = $portVersion compat >= 1
"
REQUIRES="
haiku
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku_devel
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc
cmd:ld
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:sed
"
@@ -40,9 +49,14 @@ TEST_REQUIRES="
cmd:perl
"
defineDebugInfoPackage nasm$secondaryArchSuffix \
$commandBinDir/nasm \
$commandBinDir/ndisasm
BUILD()
{
runConfigure ./configure
runConfigure --omit-dirs "binDir" ./configure \
--bindir="$commandBinDir"
make $jobArgs PERL=true
}

View File

@@ -1,43 +0,0 @@
From 4b8582300df1cd8107869ad5d4fca95132eac30b Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 10 Mar 2016 18:18:16 +0000
Subject: gcc2 build fix
diff --git a/output/codeview.c b/output/codeview.c
index 3526bd4..e9b0b91 100644
--- a/output/codeview.c
+++ b/output/codeview.c
@@ -447,16 +447,18 @@ static void register_reloc(struct coff_Section *const sect,
r->type = type;
r->symbol = 0;
- for (int i = 0; i < coff_nsects; i++) {
+{ int i;
+ for (i = 0; i < coff_nsects; i++) {
sec = coff_sects[i];
if (!strcmp(sym, sec->name)) {
return;
}
r->symbol += 2;
}
-
+}
saa_rewind(coff_syms);
- for (uint32_t i = 0; i < coff_nsyms; i++) {
+{ uint32_t i;
+ for (i = 0; i < coff_nsyms; i++) {
struct coff_Symbol *s = saa_rstruct(coff_syms);
r->symbol++;
if (s->strpos == -1 && !strcmp(sym, s->name)) {
@@ -474,6 +476,7 @@ static void register_reloc(struct coff_Section *const sect,
return;
}
}
+}
nasm_panic(0, "codeview: relocation for unregistered symbol: %s", sym);
}
--
2.19.0

View File

@@ -0,0 +1,44 @@
From 8636b3a4a54d00d4a45d61bdaffb31dfd0283142 Mon Sep 17 00:00:00 2001
From: Leorize <leorize+oss@disroot.org>
Date: Thu, 23 Jan 2020 12:13:55 -0600
Subject: Makefile.in: use iquote for include paths
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The -I flag used causes gcc to pick headers from NASM instead of system
headers for system includes. Since NASM have headers with names
overlapping with the ones in the C standard library (ie. float.h). This
breaks compilation on certain systems (ie. Haiku).
This commit swap out the -I flags for -iquote, to only prioritise NASM
include paths for quoted includes.
Signed-off-by: Hiếu Lê <leorize+oss@disroot.org>
diff --git a/Makefile.in b/Makefile.in
index 32ef3d9..330a7e7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -22,12 +22,12 @@ CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
BUILD_CFLAGS = $(CPPFLAGS) $(CFLAGS) @DEFS@
-INTERNAL_CFLAGS = -I$(srcdir) -I$(objdir) \
- -I$(srcdir)/include -I$(objdir)/include \
- -I$(srcdir)/x86 -I$(objdir)/x86 \
- -I$(srcdir)/asm -I$(objdir)/asm \
- -I$(srcdir)/disasm -I$(objdir)/disasm \
- -I$(srcdir)/output -I$(objdir)/output
+INTERNAL_CFLAGS = -iquote$(srcdir) -iquote$(objdir) \
+ -iquote$(srcdir)/include -iquote$(objdir)/include \
+ -iquote$(srcdir)/x86 -iquote$(objdir)/x86 \
+ -iquote$(srcdir)/asm -iquote$(objdir)/asm \
+ -iquote$(srcdir)/disasm -iquote$(objdir)/disasm \
+ -iquote$(srcdir)/output -iquote$(objdir)/output
ALL_CFLAGS = $(BUILD_CFLAGS) $(INTERNAL_CFLAGS)
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
--
2.24.1