From 227e4691378eb01169058c2701b7b794b6b1d5788ff2d009fd54573cb78e35ce Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Tue, 5 Mar 2019 15:23:08 +0000 Subject: [PATCH] - Update to version 2.14.02: OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/nasm?expand=0&rev=40 --- 9f45a77f4.patch | 41 ----------------------------------------- nasm-2.13.03.tar.xz | 3 --- nasm-2.14.02.tar.xz | 3 +++ nasm.changes | 44 ++++++++++++++++++++++++++++++++++++++++++++ nasm.spec | 19 +++++++------------ 5 files changed, 54 insertions(+), 56 deletions(-) delete mode 100644 9f45a77f4.patch delete mode 100644 nasm-2.13.03.tar.xz create mode 100644 nasm-2.14.02.tar.xz diff --git a/9f45a77f4.patch b/9f45a77f4.patch deleted file mode 100644 index 6283a6e..0000000 --- a/9f45a77f4.patch +++ /dev/null @@ -1,41 +0,0 @@ -commit 9f45a77f46829e666b35530939b9237cf978d4dc -Author: Cyrill Gorcunov -Date: Sat Feb 10 00:40:46 2018 +0300 - - nasmlib: Drop pure_func attrib from seg_alloc - - It not only reads static variable but writes it back as well. - - https://bugzilla.nasm.us/show_bug.cgi?id=3392461 - - Reported-by: Michael Šimáček - Signed-off-by: Cyrill Gorcunov - -commit 5eb1838b4d3752fd863d19442943983a2a5ee87c -Author: Cyrill Gorcunov -Date: Sat Feb 10 00:33:41 2018 +0300 - - nasmlib: Drop unused seg_init - - The helper has been eliminated in 2c4a4d5810d0a59b033a07876a2648ef5d4c2859 - - https://bugzilla.nasm.us/show_bug.cgi?id=3392461 - - Signed-off-by: Cyrill Gorcunov -Index: nasm-2.13.03/include/nasmlib.h -=================================================================== ---- nasm-2.13.03.orig/include/nasmlib.h -+++ nasm-2.13.03/include/nasmlib.h -@@ -188,11 +188,9 @@ int64_t readnum(char *str, bool *error); - int64_t readstrnum(char *str, int length, bool *warn); - - /* -- * seg_init: Initialise the segment-number allocator. - * seg_alloc: allocate a hitherto unused segment number. - */ --void pure_func seg_init(void); --int32_t pure_func seg_alloc(void); -+int32_t seg_alloc(void); - - /* - * many output formats will be able to make use of this: a standard diff --git a/nasm-2.13.03.tar.xz b/nasm-2.13.03.tar.xz deleted file mode 100644 index c81d160..0000000 --- a/nasm-2.13.03.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:812ecfb0dcbc5bd409aaa8f61c7de94c5b8752a7b00c632883d15b2ed6452573 -size 806636 diff --git a/nasm-2.14.02.tar.xz b/nasm-2.14.02.tar.xz new file mode 100644 index 0000000..5c6393d --- /dev/null +++ b/nasm-2.14.02.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e24ade3e928f7253aa8c14aa44726d1edf3f98643f87c9d72ec1df44b26be8f5 +size 827620 diff --git a/nasm.changes b/nasm.changes index d151247..77a6a0b 100644 --- a/nasm.changes +++ b/nasm.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Tue Mar 5 15:11:25 UTC 2019 - Martin Pluskal + +- Update to version 2.14.02: + * Fix crash due to multiple errors or warnings during the code generation pass if a list file is specified. + * Create all system-defined macros defore processing command-line given preprocessing directives (-p, -d, -u, --pragma, --before). + * If debugging is enabled, define a __DEBUG_FORMAT__ predefined macro. See section 4.11.7. + * Fix an assert for the case in the obj format when a SEG operator refers to an EXTERN symbol declared further down in the code. + * Fix a corner case in the floating-point code where a binary, octal or hexadecimal floating-point having at least 32, 11, or 8 mantissa digits could produce slightly incorrect results under very specific conditions. + * Support -MD without a filename, for gcc compatibility. -MF can be used to set the dependencies output filename. See section 2.1.7. + * Fix -E in combination with -MD. See section 2.1.21. + * Fix missing errors on redefined labels; would cause convergence failure instead which is very slow and not easy to debug. + * Duplicate definitions of the same label with the same value is now explicitly permitted (2.14 would allow it in some circumstances.) + * Add the option --no-line to ignore %line directives in the source. See section 2.1.33 and section 4.10.1. + * Changed -I option semantics by adding a trailing path separator unconditionally. + * Fixed null dereference in corrupted invalid single line macros. + * Fixed division by zero which may happen if source code is malformed. + * Fixed out of bound access in processing of malformed segment override. + * Fixed out of bound access in certain EQU parsing. + * Fixed buffer underflow in float parsing. + * Added SGX (Intel Software Guard Extensions) instructions. + * Added +n syntax for multiple contiguous registers. + * Fixed subsections_via_symbols for macho object format. + * Added the --gprefix, --gpostfix, --lprefix, and --lpostfix command line options, to allow command line base symbol renaming. See section 2.1.28. + * Allow label renaming to be specified by %pragma in addition to from the command line. See section 6.9. + * Supported generic %pragma namespaces, output and debug. See section 6.10. + * Added the --pragma command line option to inject a %pragma directive. See section 2.1.29. + * Added the --before command line option to accept preprocess statement before input. See section 2.1.30. + * Added AVX512 VBMI2 (Additional Bit Manipulation), VNNI (Vector Neural Network), BITALG (Bit Algorithm), and GFNI (Galois Field New Instruction) instructions. + * Added the STATIC directive for local symbols that should be renamed using global-symbol rules. See section 6.8. + * Allow a symbol to be defined as EXTERN and then later overridden as GLOBAL or COMMON. Furthermore, a symbol declared EXTERN and then defined will be treated as GLOBAL. See section 6.5. + * The GLOBAL directive no longer is required to precede the definition of the symbol. + * Support private_extern as macho specific extension to the GLOBAL directive. See section 7.8.5. + * Updated UD0 encoding to match with the specification + * Added the --limit-X command line option to set execution limits. See section 2.1.31. + * Updated the Codeview version number to be aligned with MASM. + * Added the --keep-all command line option to preserve output files. See section 2.1.32. + * Added the --include command line option, an alias to -P (section 2.1.18). + * Added the --help command line option as an alias to -h (section 3.1). + * Added -W, -D, and -Q suffix aliases for RET instructions so the operand sizes of these instructions can be encoded without using o16, o32 or o64. +- Drop no longer needed 9f45a77f4.patch +- Enable LTO +- Cleanup spec file + ------------------------------------------------------------------- Thu Mar 15 09:06:17 UTC 2018 - mpluskal@suse.com diff --git a/nasm.spec b/nasm.spec index 0ed76c3..e90c827 100644 --- a/nasm.spec +++ b/nasm.spec @@ -1,7 +1,7 @@ # # spec file for package nasm # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,19 +12,18 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: nasm -Version: 2.13.03 +Version: 2.14.02 Release: 0 Summary: Netwide Assembler (An x86 Assembler) License: BSD-2-Clause Group: Development/Languages/Other URL: http://www.nasm.us/ Source: http://www.nasm.us/pub/nasm/releasebuilds/%{version}/nasm-%{version}.tar.xz -Patch1: 9f45a77f4.patch BuildRequires: fdupes %description @@ -32,19 +31,15 @@ NASM is a prototype general-purpose x86 assembler. It can currently output several binary formats, including ELF, a.out, Win32, and OS/2. %prep -%autosetup -p1 +%autosetup %build -touch -r ./version.h ./version.h.stamp -TS=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y') -sed -i "s/__DATE__/\"$TS\"/g" version.h -touch -r ./version.h.stamp ./version.h - -%configure +%configure \ + --enable-lto make %{?_smp_mflags} all %install -make INSTALLROOT=%{buildroot} install rdf_install +%make_install rdf_install %fdupes %{buildroot}%{_mandir} %check