You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(208) |
Jun
(43) |
Jul
|
Aug
(2) |
Sep
(17) |
Oct
|
Nov
(4) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
|
Feb
(11) |
Mar
(3) |
Apr
(2) |
May
|
Jun
(3) |
Jul
(29) |
Aug
(29) |
Sep
(48) |
Oct
|
Nov
|
Dec
(5) |
2004 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2005 |
Jan
(12) |
Feb
(1) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
(4) |
Oct
(3) |
Nov
(1) |
Dec
(2) |
2006 |
Jan
(1) |
Feb
(2) |
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(21) |
Nov
(25) |
Dec
(16) |
2007 |
Jan
(26) |
Feb
(26) |
Mar
(18) |
Apr
(51) |
May
(45) |
Jun
(26) |
Jul
(6) |
Aug
(85) |
Sep
(161) |
Oct
(111) |
Nov
(83) |
Dec
(18) |
2008 |
Jan
(31) |
Feb
(27) |
Mar
|
Apr
(16) |
May
(142) |
Jun
(136) |
Jul
(51) |
Aug
(21) |
Sep
(47) |
Oct
(428) |
Nov
(19) |
Dec
(6) |
2009 |
Jan
(11) |
Feb
(37) |
Mar
(17) |
Apr
(15) |
May
(13) |
Jun
(61) |
Jul
(127) |
Aug
(15) |
Sep
(22) |
Oct
(28) |
Nov
(37) |
Dec
(10) |
2010 |
Jan
(18) |
Feb
(22) |
Mar
(10) |
Apr
(41) |
May
|
Jun
(48) |
Jul
(61) |
Aug
(54) |
Sep
(34) |
Oct
(15) |
Nov
(49) |
Dec
(11) |
2011 |
Jan
|
Feb
(24) |
Mar
(10) |
Apr
(9) |
May
|
Jun
(33) |
Jul
(41) |
Aug
(20) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(86) |
Mar
(12) |
Apr
|
May
(10) |
Jun
|
Jul
(9) |
Aug
(4) |
Sep
(11) |
Oct
(3) |
Nov
(3) |
Dec
(10) |
2013 |
Jan
(1) |
Feb
(23) |
Mar
(15) |
Apr
(7) |
May
(20) |
Jun
(3) |
Jul
(15) |
Aug
|
Sep
(29) |
Oct
(16) |
Nov
(69) |
Dec
(18) |
2014 |
Jan
|
Feb
(8) |
Mar
|
Apr
|
May
(16) |
Jun
(7) |
Jul
|
Aug
(5) |
Sep
(2) |
Oct
(4) |
Nov
(25) |
Dec
(8) |
2015 |
Jan
(6) |
Feb
(6) |
Mar
|
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
(7) |
Aug
|
Sep
(2) |
Oct
(1) |
Nov
(6) |
Dec
|
2016 |
Jan
(12) |
Feb
(97) |
Mar
(57) |
Apr
(52) |
May
(33) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
(3) |
Nov
(3) |
Dec
|
2017 |
Jan
(4) |
Feb
|
Mar
(23) |
Apr
(5) |
May
|
Jun
(2) |
Jul
(3) |
Aug
(2) |
Sep
|
Oct
(6) |
Nov
(3) |
Dec
(3) |
2018 |
Jan
(4) |
Feb
(11) |
Mar
|
Apr
(1) |
May
(3) |
Jun
(6) |
Jul
|
Aug
(5) |
Sep
(5) |
Oct
(36) |
Nov
(128) |
Dec
(18) |
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(24) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: nasm-bot f. C. G. <gor...@gm...> - 2015-02-21 18:18:44
|
Commit-ID: 775153b1bf10ac6a44c70920abd54334f79ff267 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=775153b1bf10ac6a44c70920abd54334f79ff267 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sat, 21 Feb 2015 18:54:33 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sat, 21 Feb 2015 21:14:28 +0300 output: dbg,aout,elf32 -- Fix out for signed relocations @size might be negative for signed relocations but its length is abs value. This is rather a fix for future use because at moment we can't hit this problems but better be on a safe side. Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- output/outaout.c | 4 ++-- output/outdbg.c | 2 +- output/outelf32.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/output/outaout.c b/output/outaout.c index b9f21ec..860b8a8 100644 --- a/output/outaout.c +++ b/output/outaout.c @@ -677,11 +677,11 @@ static void aout_out(int32_t segto, const void *data, } } p = mydata; - if (size == 2) + if (asize == 2) WRITESHORT(p, addr); else WRITELONG(p, addr); - aout_sect_write(s, mydata, size); + aout_sect_write(s, mydata, asize); } else if (type == OUT_REL2ADR) { if (segment == segto) nasm_error(ERR_PANIC, "intra-segment OUT_REL2ADR"); diff --git a/output/outdbg.c b/output/outdbg.c index 77dcd7f..155dbd1 100644 --- a/output/outdbg.c +++ b/output/outdbg.c @@ -128,7 +128,7 @@ static void dbg_out(int32_t segto, const void *data, int id; if (type == OUT_ADDRESS) - fprintf(ofile, "out to %"PRIx32", len = %d: ", segto, (int)size); + fprintf(ofile, "out to %"PRIx32", len = %d: ", segto, (int)abs((int)size)); else fprintf(ofile, "out to %"PRIx32", len = %"PRIu64": ", segto, size); diff --git a/output/outelf32.c b/output/outelf32.c index b55853c..c1c8b82 100644 --- a/output/outelf32.c +++ b/output/outelf32.c @@ -808,8 +808,8 @@ static void elf_out(int32_t segto, const void *data, } else if (asize != 4 && segment != NO_SEG) { nasm_error(ERR_NONFATAL, "Unsupported non-32-bit ELF relocation"); } - WRITEADDR(p, addr, size); - elf_sect_write(s, mydata, size); + WRITEADDR(p, addr, asize); + elf_sect_write(s, mydata, asize); break; } |
From: nasm-bot f. C. G. <gor...@gm...> - 2015-02-15 15:21:29
|
Commit-ID: d72bec12bc0f9dbc1aceedb6c831d32b6e47ece1 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=d72bec12bc0f9dbc1aceedb6c831d32b6e47ece1 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sun, 15 Feb 2015 18:18:27 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sun, 15 Feb 2015 18:18:57 +0300 output: bin -- Fix section length miscalc for OUT_ADDRESS While we using proper @asize variable for relocation itself we miss the fact that @size variable (which might be negative for signed relocations since fd52c277dd6) is used to calculate section size increment. http://bugzilla.nasm.us/show_bug.cgi?id=3392299 Reported-by: Ben de Waal <be...@de...> Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- output/outbin.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/output/outbin.c b/output/outbin.c index 01eae1c..76a00a8 100644 --- a/output/outbin.c +++ b/output/outbin.c @@ -781,6 +781,12 @@ static void bin_out(int32_t segto, const void *data, WRITEADDR(p, *(int64_t *)data, asize); saa_wbytes(s->contents, mydata, asize); } + + /* + * Reassign size with sign dropped, we will need it + * for section length calculation. + */ + size = asize; break; } |
From: nasm-bot f. C. G. <gor...@gm...> - 2015-02-08 08:09:25
|
Commit-ID: 6d42e9ba4730dc8472e4ec698e2af549c53861c3 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=6d42e9ba4730dc8472e4ec698e2af549c53861c3 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sun, 8 Feb 2015 11:07:17 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sun, 8 Feb 2015 11:07:17 +0300 preproc: Warn if someone predefines non ID as definition Not sure if someone is used this but to not break backward compatibility lets simply yield error but don't stop processing. http://bugzilla.nasm.us/show_bug.cgi?id=3392300 Reported-by: Dave Shields <the...@gm...> Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- preproc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/preproc.c b/preproc.c index 12b3978..4e05298 100644 --- a/preproc.c +++ b/preproc.c @@ -5203,6 +5203,10 @@ static void pp_pre_define(char *definition) if (equals) *equals = '='; + if (space->next->type != TOK_PREPROC_ID && + space->next->type != TOK_ID) + error(ERR_WARNING, "pre-defining non ID `%s\'\n", definition); + l = nasm_malloc(sizeof(Line)); l->next = predef; l->first = def; |
From: nasm-bot f. Y. Z. <r_...@ya...> - 2015-01-20 21:48:32
|
Commit-ID: d9ca54b6d2c6ea4faf35908e8f257bd60ea5f382 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=d9ca54b6d2c6ea4faf35908e8f257bd60ea5f382 Author: Yuri Zaporozhets <r_...@ya...> AuthorDate: Tue, 20 Jan 2015 23:38:52 +0200 Committer: Yuri Zaporozhets <r_...@ya...> CommitDate: Tue, 20 Jan 2015 23:38:52 +0200 rdoff/ldrdf.c: Add option to specify target RDF module name in command line Rationale: this is useful for projects developed entirely in high-level language and which use NASM as a backend (compilers able to generate NASM code are e.g. ncc or Free Pascal). With this option there is no need to have a single assembly language file for each project with just one "module NNN" directive — it is enough now to specify the name as an argument to ldrdf. Signed-off-by: Yuri Zaporozhets <r_...@ya...> --- rdoff/ldrdf.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/rdoff/ldrdf.c b/rdoff/ldrdf.c index 7cb542c..ff543f9 100644 --- a/rdoff/ldrdf.c +++ b/rdoff/ldrdf.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------- * - * + * * Copyright 1996-2014 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. @@ -14,7 +14,7 @@ * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF @@ -65,7 +65,7 @@ #include "segtab.h" #include "nasmlib.h" -#define LDRDF_VERSION "1.07" +#define LDRDF_VERSION "1.08" /* #define STINGY_MEMORY */ @@ -128,6 +128,9 @@ char *libpath = NULL; /* file to embed as a generic record */ char *generic_rec_file = NULL; +/* module name to be added at the beginning of output file */ +char *modname_specified = NULL; + /* error file */ static FILE *error_file; @@ -184,7 +187,7 @@ static void initsegments(void) } /* - * loadmodule + * loadmodule() * * Determine the characteristics of a module, and decide what to do with * each segment it contains (including determining destination segments and @@ -711,7 +714,7 @@ static void write_output(const char *filename) FILE *f; rdf_headerbuf *rdfheader; struct modulenode *cur; - int i, availableseg, seg, localseg, isrelative; + int i, n, availableseg, seg, localseg, isrelative; void *header; rdfheaderrec *hr, newrec; symtabEnt *se; @@ -747,7 +750,7 @@ static void write_output(const char *filename) generic_rec_file); exit(1); } - i = fread(hr->g.data, 1, sizeof(hr->g.data), ff); + n = fread(hr->g.data, 1, sizeof(hr->g.data), ff); fseek(ff, 0, SEEK_END); if (ftell(ff) > (long)sizeof(hr->g.data)) { fprintf(error_file, @@ -757,12 +760,36 @@ static void write_output(const char *filename) } fclose(ff); - hr->g.type = 0; - hr->g.reclen = i; + hr->g.type = RDFREC_GENERIC; + hr->g.reclen = n; rdfaddheader(rdfheader, hr); free(hr); } + /* + * Add module name record if `-mn' option was given + */ + if (modname_specified) { + n = strlen(modname_specified); + + if ((n < 1) || (n >= MODLIB_NAME_MAX)) { + fprintf(stderr, "ldrdf: invalid length of module name `%s'\n", + modname_specified); + exit(1); + } + + if (options.verbose) + printf("\nadding module name record %s\n", modname_specified); + + hr = (rdfheaderrec *) malloc(sizeof(struct ModRec)); + hr->m.type = RDFREC_MODNAME; + hr->m.reclen = n + 1; + strcpy(hr->m.modname, modname_specified); + rdfaddheader(rdfheader, hr); + free(hr); + } + + if (options.verbose) printf("\nbuilding output module (%d segments)\n", nsegs); @@ -1166,7 +1193,8 @@ static void usage(void) " -o name write output in file 'name'\n" " -j path specify objects search path\n" " -L path specify libraries search path\n" - " -g file embed 'file' as a first header record with type 'generic'\n"); + " -g file embed 'file' as a first header record with type 'generic'\n" + " -mn name add module name record at the beginning of output file\n"); exit(0); } @@ -1221,6 +1249,16 @@ int main(int argc, char **argv) if (argv[0][2] == 'y') options.dynalink = 1; break; + case 'm': + if (argv[0][2] == 'n') { + modname_specified = argv[1]; + argv++, argc--; + if (!argc) { + fprintf(stderr, "ldrdf: -mn expects a module name\n"); + exit(1); + } + } + break; case 'o': outname = argv[1]; argv++, argc--; @@ -1292,6 +1330,10 @@ int main(int argc, char **argv) case 'g': generic_rec_file = argv[1]; argv++, argc--; + if (!argc) { + fprintf(stderr, "ldrdf: -g expects a file name\n"); + exit(1); + } break; default: usage(); |
From: nasm-bot f. Y. Z. <r_...@ya...> - 2015-01-18 18:24:34
|
Commit-ID: 7a33af290421ad5880a483e9ae92c1c61e320ef5 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=7a33af290421ad5880a483e9ae92c1c61e320ef5 Author: Yuri Zaporozhets <r_...@ya...> AuthorDate: Sun, 18 Jan 2015 20:21:14 +0200 Committer: Yuri Zaporozhets <r_...@ya...> CommitDate: Sun, 18 Jan 2015 20:21:14 +0200 Correct name spelling and email address Signed-off-by: Yuri Zaporozhets <r_...@ya...> --- AUTHORS | 12 ++++++------ doc/changes.src | 12 ++++++------ rdoff/README | 24 ++++++++++++------------ rdoff/doc/rdoff.texi | 6 +++--- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/AUTHORS b/AUTHORS index a66ecb3..8a398ac 100644 --- a/AUTHORS +++ b/AUTHORS @@ -36,7 +36,7 @@ D: Documentation - "3dNow!" instructions and misc. D: insns.dat fixes and new instructions. N: AMD Inc. (names of developers here?) -E: +E: D: 3DNow instructions D: New Athlon instructions D: Makefile.vc fix @@ -46,8 +46,8 @@ E: joh...@us... D: added Jcc optimizations; CPU level checks D: bug fixes, compilation fixes -N: Yuri Zaporogets -E: yu...@us... +N: Yuri Zaporozhets +E: r_...@ya... D: RDOFF support N: H. Peter Anvin @@ -61,17 +61,17 @@ D: Preprocessor and OBJ (OMF) output format driver D: Organized DOS versions of 0.98 release N: Kendall Bennet -E: Ken...@sc... +E: Ken...@sc... D: NASM enhancements D: macros D: Syntax modifications N: Gary Clark -E: +E: D: AMD 3DNow! instructions N: Andrew Crabtree -E: +E: D: Debugging support N: Rafael R. Sevilla diff --git a/doc/changes.src b/doc/changes.src index 730205b..a95dd09 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -1241,7 +1241,7 @@ from the current BITS setting (16 or 32). \b Removed the "outforms.h" file - it appears to be - someone's old backup of "outform.h". version "0.98.06e" + someone's old backup of "outform.h". version "0.98.06e" 01/09/01 @@ -1264,7 +1264,7 @@ from the current BITS setting (16 or 32). \b James Seter - -postfix, -prefix command line switches. -\b Yuri Zaporogets - rdoff utility changes. +\b Yuri Zaporozhets - rdoff utility changes. \S{cl-0.98p1} Version 0.98p1 @@ -1277,9 +1277,9 @@ from the current BITS setting (16 or 32). \S{cl-0.98bf (bug-fixed)} Version 0.98bf (bug-fixed) \b Fixed - elf and aoutb bug - shared libraries - - multiple "%include" bug in "-f obj" + - multiple "%include" bug in "-f obj" - jcxz, jecxz bug - - unrecognized option bug in ndisasm + - unrecognized option bug in ndisasm \S{cl-0.98.03 with John Coffman's changes released 27-Jul-2000} Version 0.98.03 with John Coffman's changes released 27-Jul-2000 @@ -1302,7 +1302,7 @@ This feature is controlled by a new command-line switch: "O", extra optimization passes, "-O1" allows up to 5 extra passes, and "-O2"(default), allows up to 10 extra optimization passes. -\b Added a new directive: 'cpu XXX', where XXX is any of: +\b Added a new directive: 'cpu XXX', where XXX is any of: 8086, 186, 286, 386, 486, 586, pentium, 686, PPro, P2, P3 or Katmai. All are case insensitive. All instructions will be selected only if they apply to the selected cpu or lower. @@ -1312,7 +1312,7 @@ Corrected a couple of bugs in cpu-dependence in 'insns.dat'. the "bits 16/32" directive. This is nothing new, just conforms to a lot of other assemblers. (minor) -\b Changed label allocation from 320/32 (10000 labels @ 200K+) +\b Changed label allocation from 320/32 (10000 labels @ 200K+) to 32/37 (1000 labels); makes running under DOS much easier. Since additional label space is allocated dynamically, this should have no effect on large programs with lots of labels. diff --git a/rdoff/README b/rdoff/README index a5a6fd1..c0b1c2c 100644 --- a/rdoff/README +++ b/rdoff/README @@ -23,7 +23,7 @@ Here is a brief summary of the programs' usage: rdfdump ======= -This tool prints a list of the header records in an RDOFF object in +This tool prints a list of the header records in an RDOFF object in human-readable form, and optionally prints a hex dump of the contents of the segments. @@ -59,7 +59,7 @@ Most of its options are not implemented, but those that are are listed here: -2 redirect all output from stderr to stdout. It is useful for some systems which don't have such a redirection in shell (e.g. DOS). - -v increase verbosity level. Currently 4 verbosity levels are + -v increase verbosity level. Currently 4 verbosity levels are available: default (which only prints error information), normal (which prints information about the produced object, -v), medium (which prints information about what the program is doing, -v -v) @@ -68,25 +68,25 @@ Most of its options are not implemented, but those that are are listed here: -a change alignment value to which multiple segments combigned into a single segment should be aligned (must be either 1, 2, 4, 8, 16, 32 or 256. Default is 16). - + -s strip exported symbols from output file. Symbols marked as SYM_GLOBAL are never stripped. - + -x warn about unresolved symbols. - + -xe issue an error when at least one symbol is unresolved. - + -o name write output to file <name>. The default output filename is 'aout.rdx'. - + -j path specify search path for object files. Default path is a current directory. - + -L path specify search path for libraries. Default path is a current directory. - + -g file embed 'file' as a first header record with type 'generic'. - + rdx === @@ -146,7 +146,7 @@ how long the segment is. BUGS ==== -This product has recently undergone a major revision, and as such there +This product has recently undergone a major revision, and as such there are probably several bugs left over from the testing phase (although the previous version had quite a few that have now been fixed!). Could you please report any bugs to maintainers at the addresses below, including the @@ -181,5 +181,5 @@ file for a comment containing the word 'TODO'. A brief list is given here: MAINTAINERS =========== -Yuri Zaporogets <yu...@us...> - primary maintainer +Yuri Zaporozhets <r_...@ya...> - primary maintainer Julian Hall <ju...@ds...> - original designer and author diff --git a/rdoff/doc/rdoff.texi b/rdoff/doc/rdoff.texi index 4431287..8ba2c68 100644 --- a/rdoff/doc/rdoff.texi +++ b/rdoff/doc/rdoff.texi @@ -7,13 +7,13 @@ @titlepage @title Relocatable Dynamic Object File Format (RDOFF) -@author Yuri Zaporogets @email{yuriz@@ukr.net} +@author Yuri Zaporozhets @email{r_tty@@yahoo.co.uk} @author Julian Hall @email{jules@@dsf.org.uk} @end titlepage @ifinfo -Copyright @copyright{} 2002-2004 Netwide Assembler Project. -Written by Yuri Zaporogets @email{yuriz@@users.sf.net} +Copyright @copyright{} 2002-2015 Netwide Assembler Project. +Written by Yuri Zaporozhets @email{r_tty@@yahoo.co.uk} Based on various sources and notes written by Julian Hall @email{jules@@dsf.org.uk} Distributed under GNU documentation license. @end ifinfo |
From: nasm-bot f. Y. Z. <r_...@ya...> - 2015-01-11 21:57:30
|
Commit-ID: 76ee8e609168a4f2b14f0432e854c52b2ff283e4 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=76ee8e609168a4f2b14f0432e854c52b2ff283e4 Author: Yuri Zaporozhets <r_...@ya...> AuthorDate: Sun, 11 Jan 2015 21:16:34 +0200 Committer: Yuri Zaporozhets <r_...@ya...> CommitDate: Sun, 11 Jan 2015 21:16:34 +0200 rdoff: increase EXIM_LABEL_MAX to 256 bytes Rationale: this is required for, e.g., FreePascal, which tends to generate very long labels for procedures/methods that do not fit into 64 bytes. This change does not introduce any incompatibilities. Signed-off-by: Yuri Zaporozhets <r_...@ya...> --- rdoff/rdoff.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdoff/rdoff.h b/rdoff/rdoff.h index a161733..1451c6e 100644 --- a/rdoff/rdoff.h +++ b/rdoff/rdoff.h @@ -52,7 +52,7 @@ #define RDOFF2_SIGNATURE "RDOFF2" /* Maximum size of an import/export label (including trailing zero) */ -#define EXIM_LABEL_MAX 64 +#define EXIM_LABEL_MAX 256 /* Maximum size of library or module name (including trailing zero) */ #define MODLIB_NAME_MAX 128 |
From: nasm-bot f. C. G. <gor...@gm...> - 2015-01-11 14:24:35
|
Commit-ID: d4923fc6a2604ecb8b3e89fa07522c009816e58d Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=d4923fc6a2604ecb8b3e89fa07522c009816e58d Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sun, 11 Jan 2015 17:21:46 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sun, 11 Jan 2015 17:21:46 +0300 output: maco 64 -- Fix data conversion Looks like were a typo in first place http://bugzilla.nasm.us/show_bug.cgi?id=3392298 Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- output/outmac64.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/output/outmac64.c b/output/outmac64.c index fbbea06..c07dcbc 100644 --- a/output/outmac64.c +++ b/output/outmac64.c @@ -598,7 +598,7 @@ static void macho_output(int32_t secto, const void *data, " section base references"); } else { if (wrt == NO_SEG) { - *mydata -= add_reloc(s, section, 1, 4, (int64_t)*mydata); // X86_64_RELOC_SIGNED/BRANCH + *mydata -= add_reloc(s, section, 1, 4, *(int64_t *)mydata); // X86_64_RELOC_SIGNED/BRANCH } else if (wrt == macho_gotpcrel_sect) { if (s->data->datalen > 1) { saa_fread(s->data, s->data->datalen-2, &gotload, 1); // Retrieve Instruction Opcode @@ -606,9 +606,9 @@ static void macho_output(int32_t secto, const void *data, gotload = 0; } if (gotload == 0x8B) { // Check for MOVQ Opcode - *mydata -= add_reloc(s, section, 4, 4, (int64_t)*mydata); // X86_64_GOT_LOAD (MOVQ load) + *mydata -= add_reloc(s, section, 4, 4, *(int64_t *)mydata); // X86_64_GOT_LOAD (MOVQ load) } else { - *mydata -= add_reloc(s, section, 3, 4, (int64_t)*mydata); // X86_64_GOT + *mydata -= add_reloc(s, section, 3, 4, *(int64_t *)mydata); // X86_64_GOT } } else { nasm_error(ERR_NONFATAL, "Mach-O format does not support" |
From: nasm-bot f. H. P. A. <hp...@li...> - 2015-01-05 23:24:32
|
Commit-ID: 12c0702824a83d371263b6ad07c6b047b12d686d Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=12c0702824a83d371263b6ad07c6b047b12d686d Author: H. Peter Anvin <hp...@li...> AuthorDate: Mon, 5 Jan 2015 15:21:43 -0800 Committer: H. Peter Anvin <hp...@li...> CommitDate: Mon, 5 Jan 2015 15:21:43 -0800 rdoff/rdlib.c: Remove unused function rdl_close() The function rdl_close() is never used, remove it. Signed-off-by: H. Peter Anvin <hp...@li...> --- rdoff/rdlib.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/rdoff/rdlib.c b/rdoff/rdlib.c index cf8d5e7..7f8ddac 100644 --- a/rdoff/rdlib.c +++ b/rdoff/rdlib.c @@ -126,13 +126,6 @@ int rdl_open(struct librarynode *lib, const char *name) return 0; } -static void rdl_close(struct librarynode *lib) -{ - if (lib->fp) - fclose(lib->fp); - free(lib->name); -} - int rdl_searchlib(struct librarynode *lib, const char *label, rdffile * f) { char buf[512]; |
From: nasm-bot f. H. P. A. <hp...@li...> - 2015-01-05 23:24:31
|
Commit-ID: 724719b1da2f21d77745ff4606f5299a837c6633 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=724719b1da2f21d77745ff4606f5299a837c6633 Author: H. Peter Anvin <hp...@li...> AuthorDate: Mon, 5 Jan 2015 15:17:56 -0800 Committer: H. Peter Anvin <hp...@li...> CommitDate: Mon, 5 Jan 2015 15:17:56 -0800 Change posix_mktime() to make_posix_time() The posix_ prefix is reserved for POSIX, and even if there never is a posix_mktime() defined it might be confusing for programmers familiar with this convention. Signed-off-by: H. Peter Anvin <hp...@li...> --- nasm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nasm.c b/nasm.c index 37b40b0..8557b4d 100644 --- a/nasm.c +++ b/nasm.c @@ -199,7 +199,7 @@ static void nasm_fputs(const char *line, FILE * outfile) } /* Convert a struct tm to a POSIX-style time constant */ -static int64_t posix_mktime(struct tm *tm) +static int64_t make_posix_time(struct tm *tm) { int64_t t; int64_t y = tm->tm_year; @@ -253,9 +253,9 @@ static void define_macros_early(void) } if (gm_p) - posix_time = posix_mktime(&gm); + posix_time = make_posix_time(&gm); else if (lt_p) - posix_time = posix_mktime(<); + posix_time = make_posix_time(<); else posix_time = 0; |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-12-20 12:09:24
|
Commit-ID: 7cc90badae553a5ae25c3d93b75b024c73e2c7f4 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=7cc90badae553a5ae25c3d93b75b024c73e2c7f4 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sat, 20 Dec 2014 15:07:39 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sat, 20 Dec 2014 15:07:39 +0300 quote: Fix returning out of string pointer, take 2 In commit a45febd767 only part of problem has been covered. Need to be ready for strings like | `a http://bugzilla.nasm.us/show_bug.cgi?id=3392295 Reported-by: Hanno Boeck <ha...@hb...> Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- quote.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quote.c b/quote.c index b1e9dba..0132b05 100644 --- a/quote.c +++ b/quote.c @@ -471,7 +471,7 @@ char *nasm_skip_string(char *str) break; } } - return p; /* Unterminated string... */ + return p-1; /* Unterminated string... */ } else { return str; /* Not a string... */ } |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-12-20 11:30:36
|
Commit-ID: 85ec505d05dfb987f8e0f728b1a350d6188739b0 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=85ec505d05dfb987f8e0f728b1a350d6188739b0 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sat, 20 Dec 2014 14:25:58 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sat, 20 Dec 2014 14:25:58 +0300 doc: Add missing closing brace http://bugzilla.nasm.us/show_bug.cgi?id=3392284 Reported-by: Nick Rowan <nn...@gm...> Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- doc/nasmdoc.src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src index f1ca114..1b59e07 100644 --- a/doc/nasmdoc.src +++ b/doc/nasmdoc.src @@ -4490,7 +4490,7 @@ define a new section, if you try to switch to a section that does not (yet) exist. The Unix object formats, and the \c{bin} object format (but see -\k{multisec}, all support +\k{multisec}), all support the \i{standardized section names} \c{.text}, \c{.data} and \c{.bss} for the code, data and uninitialized-data sections. The \c{obj} format, by contrast, does not recognize these section names as being |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-12-20 08:42:47
|
Commit-ID: 7729edf7224e39628bd342c3a3bb44c1753bdfb0 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=7729edf7224e39628bd342c3a3bb44c1753bdfb0 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sat, 20 Dec 2014 11:35:51 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sat, 20 Dec 2014 11:35:51 +0300 configure.in: Move AC_C_INLINE and friends to be checked before PA_ADD_CFLAGS Looks like -Werror=missing-declarations revealed problem in configure: the "inline" support has not been detected properly leading to problem in building procedure. Lets move AC_C_INLINE and etc to be tested before gcc flags. Reported-by: NAKAI Yuta <na...@li...> Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- configure.in | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/configure.in b/configure.in index 572dee1..b40c62b 100644 --- a/configure.in +++ b/configure.in @@ -60,6 +60,19 @@ else fi AC_PROG_INSTALL +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_C_RESTRICT +AC_TYPE_SIZE_T +PA_WORKING_BOOL +AC_C_BIGENDIAN(AC_DEFINE(WORDS_BIGENDIAN),AC_DEFINE(WORDS_LITTLEENDIAN)) +AH_TEMPLATE(WORDS_BIGENDIAN, +[Define to 1 if your processor stores words with the most significant +byte first (like Motorola and SPARC, unlike Intel and VAX).]) +AH_TEMPLATE(WORDS_LITTLEENDIAN, +[Define to 1 if your processor stores words with the least significant +byte first (like Intel and VAX, unlike Motorola and SPARC).]) + dnl If we have gcc, add appropriate options PA_ADD_CFLAGS([-W]) PA_ADD_CFLAGS([-Wall]) @@ -112,20 +125,6 @@ AC_CHECK_HEADERS(strings.h) dnl Look for <stdbool.h> AC_CHECK_HEADERS(stdbool.h) -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_C_INLINE -AC_C_RESTRICT -AC_TYPE_SIZE_T -PA_WORKING_BOOL -AC_C_BIGENDIAN(AC_DEFINE(WORDS_BIGENDIAN),AC_DEFINE(WORDS_LITTLEENDIAN)) -AH_TEMPLATE(WORDS_BIGENDIAN, -[Define to 1 if your processor stores words with the most significant -byte first (like Motorola and SPARC, unlike Intel and VAX).]) -AH_TEMPLATE(WORDS_LITTLEENDIAN, -[Define to 1 if your processor stores words with the least significant -byte first (like Intel and VAX, unlike Motorola and SPARC).]) - dnl Checks for library functions. AC_SUBST(XOBJS) |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-12-20 08:42:47
|
Commit-ID: 1006a47fe82acd82db9f52617060b373223ebcf3 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=1006a47fe82acd82db9f52617060b373223ebcf3 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sat, 20 Dec 2014 11:40:36 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sat, 20 Dec 2014 11:40:36 +0300 disasm: Add explicit type conversion to placate compiler Otherwise getting | disasm.c:200:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] | return GET_REGISTER(nasm_rd_bndreg, regval); Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- disasm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/disasm.c b/disasm.c index 161868d..5e3a5e5 100644 --- a/disasm.c +++ b/disasm.c @@ -159,7 +159,7 @@ static enum reg_enum whichreg(opflags_t regflags, int regval, int rex) return 0; #define GET_REGISTER(__array, __index) \ - ((__index) < ARRAY_SIZE(__array) ? __array[(__index)] : 0) + ((size_t)(__index) < (size_t)ARRAY_SIZE(__array) ? __array[(__index)] : 0) if (!(REG8 & ~regflags)) { if (rex & (REX_P|REX_NH)) |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-12-14 19:48:31
|
Commit-ID: 9b05974022da69c12b8b190c6ad100402771e5ad Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=9b05974022da69c12b8b190c6ad100402771e5ad Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sun, 14 Dec 2014 22:44:54 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sun, 14 Dec 2014 22:44:54 +0300 ndisasm: Prevent nil dereference on registerd decoding The sequence | 0x0F 0x1B 0x75 | get matched into one of BNDx instruction which register value 6 which is of course out of possible BND registers implemented in hardware at the moment leading to nil dereference. Instead lets use a macro in whichreg() helper which would test the registers bounds and force the caller to try another template if register is out of range. In the case above it simply means ndisasm instead of crashing outputs | 00000000 0F db 0x0f | 00000001 1B db 0x1b | 00000002 75 db 0x75 http://bugzilla.nasm.us/show_bug.cgi?id=3392289 Reported-by: Hanno Boeck <ha...@hb...> Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- disasm.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/disasm.c b/disasm.c index 8ee0b1c..161868d 100644 --- a/disasm.c +++ b/disasm.c @@ -158,44 +158,48 @@ static enum reg_enum whichreg(opflags_t regflags, int regval, int rex) if (regval < 0 || regval > (rex & REX_EV ? 31 : 15)) return 0; +#define GET_REGISTER(__array, __index) \ + ((__index) < ARRAY_SIZE(__array) ? __array[(__index)] : 0) + if (!(REG8 & ~regflags)) { if (rex & (REX_P|REX_NH)) - return nasm_rd_reg8_rex[regval]; + return GET_REGISTER(nasm_rd_reg8_rex, regval); else - return nasm_rd_reg8[regval]; + return GET_REGISTER(nasm_rd_reg8, regval); } if (!(REG16 & ~regflags)) - return nasm_rd_reg16[regval]; + return GET_REGISTER(nasm_rd_reg16, regval); if (!(REG32 & ~regflags)) - return nasm_rd_reg32[regval]; + return GET_REGISTER(nasm_rd_reg32, regval); if (!(REG64 & ~regflags)) - return nasm_rd_reg64[regval]; + return GET_REGISTER(nasm_rd_reg64, regval); if (!(REG_SREG & ~regflags)) - return nasm_rd_sreg[regval & 7]; /* Ignore REX */ + return GET_REGISTER(nasm_rd_sreg, regval & 7); /* Ignore REX */ if (!(REG_CREG & ~regflags)) - return nasm_rd_creg[regval]; + return GET_REGISTER(nasm_rd_creg, regval); if (!(REG_DREG & ~regflags)) - return nasm_rd_dreg[regval]; + return GET_REGISTER(nasm_rd_dreg, regval); if (!(REG_TREG & ~regflags)) { if (regval > 7) return 0; /* TR registers are ill-defined with rex */ - return nasm_rd_treg[regval]; + return GET_REGISTER(nasm_rd_treg, regval); } if (!(FPUREG & ~regflags)) - return nasm_rd_fpureg[regval & 7]; /* Ignore REX */ + return GET_REGISTER(nasm_rd_fpureg, regval & 7); /* Ignore REX */ if (!(MMXREG & ~regflags)) - return nasm_rd_mmxreg[regval & 7]; /* Ignore REX */ + return GET_REGISTER(nasm_rd_mmxreg, regval & 7); /* Ignore REX */ if (!(XMMREG & ~regflags)) - return nasm_rd_xmmreg[regval]; + return GET_REGISTER(nasm_rd_xmmreg, regval); if (!(YMMREG & ~regflags)) - return nasm_rd_ymmreg[regval]; + return GET_REGISTER(nasm_rd_ymmreg, regval); if (!(ZMMREG & ~regflags)) - return nasm_rd_zmmreg[regval]; + return GET_REGISTER(nasm_rd_zmmreg, regval); if (!(OPMASKREG & ~regflags)) - return nasm_rd_opmaskreg[regval]; + return GET_REGISTER(nasm_rd_opmaskreg, regval); if (!(BNDREG & ~regflags)) - return nasm_rd_bndreg[regval]; + return GET_REGISTER(nasm_rd_bndreg, regval); +#undef GET_REGISTER return 0; } |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-12-14 10:09:33
|
Commit-ID: 1cccb1e8d5618f054b509b6eaf9e1cee13985bc7 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=1cccb1e8d5618f054b509b6eaf9e1cee13985bc7 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sun, 14 Dec 2014 10:57:53 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sun, 14 Dec 2014 10:57:53 +0300 disasm: matches -- Use proper return type matches() declared as int and better return explicit zero here instead of @false. Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- disasm.c | 102 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/disasm.c b/disasm.c index 2f68b1d..8ee0b1c 100644 --- a/disasm.c +++ b/disasm.c @@ -502,7 +502,7 @@ static int matches(const struct itemplate *t, uint8_t *data, memset(ins->prefixes, 0, sizeof ins->prefixes); if (itemp_has(t, (segsize == 64 ? IF_NOLONG : IF_LONG))) - return false; + return 0; if (prefix->rep == 0xF2) drep = (itemp_has(t, IF_BND) ? P_BND : P_REPNE); @@ -525,7 +525,7 @@ static int matches(const struct itemplate *t, uint8_t *data, case 04: while (c--) if (*r++ != *data++) - return false; + return 0; break; case 05: @@ -538,7 +538,7 @@ static int matches(const struct itemplate *t, uint8_t *data, { int t = *r++, d = *data++; if (d < t || d > t + 7) - return false; + return 0; else { opx->basereg = (d-t)+ (ins->rex & REX_B ? 8 : 0); @@ -664,7 +664,7 @@ static int matches(const struct itemplate *t, uint8_t *data, opx->segment |= SEG_RMREG; data = do_ea(data, modrm, asize, segsize, eat, opy, ins); if (!data) - return false; + return 0; opx->basereg = ((modrm >> 3) & 7) + (ins->rex & REX_R ? 8 : 0); if ((ins->rex & REX_EV) && (segsize == 64)) opx->basereg += (ins->evex_p[0] & EVEX_P0RP ? 0 : 16); @@ -687,7 +687,7 @@ static int matches(const struct itemplate *t, uint8_t *data, c = *r++; if ((c ^ ximm) & 15) - return false; + return 0; ins->oprs[c >> 4].basereg = (ximm >> 4) & regmask; ins->oprs[c >> 4].segment |= SEG_RMREG; @@ -714,10 +714,10 @@ static int matches(const struct itemplate *t, uint8_t *data, { int modrm = *data++; if (((modrm >> 3) & 07) != (c & 07)) - return false; /* spare field doesn't match up */ + return 0; /* spare field doesn't match up */ data = do_ea(data, modrm, asize, segsize, eat, opy, ins); if (!data) - return false; + return 0; break; } @@ -732,19 +732,19 @@ static int matches(const struct itemplate *t, uint8_t *data, ins->rex |= REX_EV; if ((prefix->rex & (REX_EV|REX_V|REX_P)) != REX_EV) - return false; + return 0; if ((evexm & 0x1f) != prefix->vex_m) - return false; + return 0; switch (evexwlp & 060) { case 000: if (prefix->rex & REX_W) - return false; + return 0; break; case 020: if (!(prefix->rex & REX_W)) - return false; + return 0; ins->rex |= REX_W; break; case 040: /* VEX.W is a don't care */ @@ -763,13 +763,13 @@ static int matches(const struct itemplate *t, uint8_t *data, valid_mask = 0xf; /* vector length and prefix */ } if ((evexwlp ^ prefix->vex_lp) & valid_mask) - return false; + return 0; if (c == 0250) { if ((prefix->vex_v != 0) || (!(prefix->evex[2] & EVEX_P2VP) && ((eat < EA_XMMVSIB) || (eat > EA_ZMMVSIB)))) - return false; + return 0; } else { opx->segment |= SEG_RMREG; opx->basereg = ((~prefix->evex[2] & EVEX_P2VP) << (4 - 3) ) | @@ -788,19 +788,19 @@ static int matches(const struct itemplate *t, uint8_t *data, ins->rex |= REX_V; if ((prefix->rex & (REX_V|REX_P)) != REX_V) - return false; + return 0; if ((vexm & 0x1f) != prefix->vex_m) - return false; + return 0; switch (vexwlp & 060) { case 000: if (prefix->rex & REX_W) - return false; + return 0; break; case 020: if (!(prefix->rex & REX_W)) - return false; + return 0; ins->rex &= ~REX_W; break; case 040: /* VEX.W is a don't care */ @@ -812,11 +812,11 @@ static int matches(const struct itemplate *t, uint8_t *data, /* The 010 bit of vexwlp is set if VEX.L is ignored */ if ((vexwlp ^ prefix->vex_lp) & ((vexwlp & 010) ? 03 : 07)) - return false; + return 0; if (c == 0270) { if (prefix->vex_v != 0) - return false; + return 0; } else { opx->segment |= SEG_RMREG; opx->basereg = prefix->vex_v; @@ -848,69 +848,69 @@ static int matches(const struct itemplate *t, uint8_t *data, case 0310: if (asize != 16) - return false; + return 0; else a_used = true; break; case 0311: if (asize != 32) - return false; + return 0; else a_used = true; break; case 0312: if (asize != segsize) - return false; + return 0; else a_used = true; break; case 0313: if (asize != 64) - return false; + return 0; else a_used = true; break; case 0314: if (prefix->rex & REX_B) - return false; + return 0; break; case 0315: if (prefix->rex & REX_X) - return false; + return 0; break; case 0316: if (prefix->rex & REX_R) - return false; + return 0; break; case 0317: if (prefix->rex & REX_W) - return false; + return 0; break; case 0320: if (osize != 16) - return false; + return 0; else o_used = true; break; case 0321: if (osize != 32) - return false; + return 0; else o_used = true; break; case 0322: if (osize != (segsize == 16) ? 16 : 32) - return false; + return 0; else o_used = true; break; @@ -923,7 +923,7 @@ static int matches(const struct itemplate *t, uint8_t *data, case 0324: if (osize != 64) - return false; + return 0; o_used = true; break; @@ -935,7 +935,7 @@ static int matches(const struct itemplate *t, uint8_t *data, { int t = *r++, d = *data++; if (d < t || d > t + 15) - return false; + return 0; else ins->condition = d - t; break; @@ -943,23 +943,23 @@ static int matches(const struct itemplate *t, uint8_t *data, case 0326: if (prefix->rep == 0xF3) - return false; + return 0; break; case 0331: if (prefix->rep) - return false; + return 0; break; case 0332: if (prefix->rep != 0xF2) - return false; + return 0; drep = 0; break; case 0333: if (prefix->rep != 0xF3) - return false; + return 0; drep = 0; break; @@ -980,44 +980,44 @@ static int matches(const struct itemplate *t, uint8_t *data, break; case 0340: - return false; + return 0; case 0341: if (prefix->wait != 0x9B) - return false; + return 0; dwait = 0; break; case 0360: if (prefix->osp || prefix->rep) - return false; + return 0; break; case 0361: if (!prefix->osp || prefix->rep) - return false; + return 0; o_used = true; break; case 0364: if (prefix->osp) - return false; + return 0; break; case 0365: if (prefix->asp) - return false; + return 0; break; case 0366: if (!prefix->osp) - return false; + return 0; o_used = true; break; case 0367: if (!prefix->asp) - return false; + return 0; a_used = true; break; @@ -1038,16 +1038,16 @@ static int matches(const struct itemplate *t, uint8_t *data, break; default: - return false; /* Unknown code */ + return 0; /* Unknown code */ } } if (!vex_ok && (ins->rex & (REX_V | REX_EV))) - return false; + return 0; /* REX cannot be combined with VEX */ if ((ins->rex & REX_V) && (prefix->rex & REX_P)) - return false; + return 0; /* * Check for unused rep or a/o prefixes. @@ -1059,12 +1059,12 @@ static int matches(const struct itemplate *t, uint8_t *data, if (lock) { if (ins->prefixes[PPS_LOCK]) - return false; + return 0; ins->prefixes[PPS_LOCK] = P_LOCK; } if (drep) { if (ins->prefixes[PPS_REP]) - return false; + return 0; ins->prefixes[PPS_REP] = drep; } ins->prefixes[PPS_WAIT] = dwait; @@ -1085,13 +1085,13 @@ static int matches(const struct itemplate *t, uint8_t *data, } if (ins->prefixes[PPS_OSIZE]) - return false; + return 0; ins->prefixes[PPS_OSIZE] = pfx; } } if (!a_used && asize != segsize) { if (ins->prefixes[PPS_ASIZE]) - return false; + return 0; ins->prefixes[PPS_ASIZE] = asize == 16 ? P_A16 : P_A32; } |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-12-09 18:54:25
|
Commit-ID: 00590792fe2ede83db2f66a562d8fd837cfb1061 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=00590792fe2ede83db2f66a562d8fd837cfb1061 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Tue, 9 Dec 2014 21:52:09 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Tue, 9 Dec 2014 21:52:09 +0300 NASM 2.11.07 A few changes here - fix in VMOVNTPS 256 bit encoding - fix nil dereference in memory parsing code and access to uninitialized space when handling strings - fix processing of -MD option, the commit 599a982 was fixing one issue but occasionally broke visible command line api, leading to (for example) syslinux can't be built with previous version. There are some more bugs which are to be addressed but due to fix of -MD option we need to release update. Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 5abdbf8..7674aa7 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.11.06 +2.11.07 |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-12-09 18:54:25
|
Commit-ID: e3131143fa3654c85c46a6bbb75d6d4736e53459 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=e3131143fa3654c85c46a6bbb75d6d4736e53459 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Tue, 9 Dec 2014 21:47:23 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Tue, 9 Dec 2014 21:47:23 +0300 doc: Update changes for 2.11.07 Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- doc/changes.src | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/changes.src b/doc/changes.src index b83738f..730205b 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -7,6 +7,18 @@ The NASM 2 series supports x86-64, and is the production version of NASM since 2007. +\S{cl-2.11.07} Version 2.11.07 + +\b Fix 256 bit \c{VMOVNTPS} instruction. + +\b Fix \c{-MD} option handling, which was rather broken in previous +release changing command line api. + +\b Fix access to unitialized space when handling strings with +a single grave. + +\b Fix nil dereference in handling memory reference parsing. + \S{cl-2.11.06} Version 2.11.06 \b Update AVX512 instructions based on the Extension Reference (319433-021 Sept |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-11-29 21:24:30
|
Commit-ID: 0dd37af2105784da65f4fac9e46b0f9b1a7d54d6 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=0dd37af2105784da65f4fac9e46b0f9b1a7d54d6 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Sat, 29 Nov 2014 21:33:44 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sat, 29 Nov 2014 21:49:38 +0300 nasm: Fix -MD operating mode Previously -MD option didn't call for depend mode solely but produced deps during active compilation phase allowing symbol refereces processing as well. Occasionally in commit 599a98 I made -MD option to handle deps in a separate internal phase which caused problems like | error: symbol references not supported in preprocess-only mode leading to problems in building applications with nasm. Fix it moving old behaviour back. Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- nasm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nasm.c b/nasm.c index ac46afd..37b40b0 100644 --- a/nasm.c +++ b/nasm.c @@ -898,7 +898,7 @@ set_warning: depend_emit_phony = true; break; case 'D': - operating_mode = OP_DEPEND | OP_NORMAL; + operating_mode = OP_NORMAL; depend_file = q; advance = true; break; |
From: nasm-bot f. H. G. <he...@gr...> - 2014-11-29 21:24:30
|
Commit-ID: e7072c4148b7ed62e89f7ec94daa8201ba7e482c Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=e7072c4148b7ed62e89f7ec94daa8201ba7e482c Author: Henrik Gramner <he...@gr...> AuthorDate: Wed, 12 Nov 2014 18:49:03 +0100 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Sun, 30 Nov 2014 00:21:17 +0300 insns.dat: Fix 256-bit vmovntps Signed-off-by: Henrik Gramner <he...@gr...> Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- insns.dat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/insns.dat b/insns.dat index 4191075..baa7b9d 100644 --- a/insns.dat +++ b/insns.dat @@ -2490,7 +2490,7 @@ VMOVNTDQA xmmreg,mem128 [rm: vex.128.66.0f38 2a /r] AVX,SANDYBRIDGE VMOVNTPD mem128,xmmreg [mr: vex.128.66.0f 2b /r] AVX,SANDYBRIDGE VMOVNTPD mem256,ymmreg [mr: vex.256.66.0f 2b /r] AVX,SANDYBRIDGE VMOVNTPS mem128,xmmreg [mr: vex.128.0f 2b /r] AVX,SANDYBRIDGE -VMOVNTPS mem128,ymmreg [mr: vex.256.0f 2b /r] AVX,SANDYBRIDGE +VMOVNTPS mem256,ymmreg [mr: vex.256.0f 2b /r] AVX,SANDYBRIDGE VMOVSD xmmreg,xmmreg*,xmmreg [rvm: vex.nds.lig.f2.0f 10 /r] AVX,SANDYBRIDGE VMOVSD xmmreg,mem64 [rm: vex.lig.f2.0f 10 /r] AVX,SANDYBRIDGE VMOVSD xmmreg,xmmreg*,xmmreg [mvr: vex.nds.lig.f2.0f 11 /r] AVX,SANDYBRIDGE |
From: nasm-bot f. C. G. <gor...@gm...> - 2014-11-26 07:45:25
|
Commit-ID: b2c344978897b840d95ea65af047305e468e6074 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=b2c344978897b840d95ea65af047305e468e6074 Author: Cyrill Gorcunov <gor...@gm...> AuthorDate: Wed, 26 Nov 2014 10:44:19 +0300 Committer: Cyrill Gorcunov <gor...@gm...> CommitDate: Wed, 26 Nov 2014 10:44:19 +0300 compiler: Fix typo for HAVE__VSNPRINTF Reported-by: Michael Murashkin <rag...@in...> Signed-off-by: Cyrill Gorcunov <gor...@gm...> --- compiler.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler.h b/compiler.h index 5805f5a..62425c8 100644 --- a/compiler.h +++ b/compiler.h @@ -93,7 +93,7 @@ int snprintf(char *, size_t, const char *, ...); #endif #ifndef HAVE_VSNPRINTF -# ifdef HAVE__VSNPRINT +# ifdef HAVE__VSNPRINTF # define vsnprintf _vsnprintf # else int vsnprintf(char *, size_t, const char *, va_list); |
From: nasm-bot f. H. P. A. <hp...@zy...> - 2014-11-25 21:09:18
|
Commit-ID: cfe039f69b9ab705e02e4b929557aaff7a469947 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=cfe039f69b9ab705e02e4b929557aaff7a469947 Author: H. Peter Anvin <hp...@zy...> AuthorDate: Tue, 25 Nov 2014 13:05:32 -0800 Committer: H. Peter Anvin <hp...@zy...> CommitDate: Tue, 25 Nov 2014 13:05:32 -0800 configure.in: Remove redundant -Werror=trigraphs As obnoxious as trigraphs are, we don't need to -Werror them twice. Signed-off-by: H. Peter Anvin <hp...@zy...> --- configure.in | 1 - 1 file changed, 1 deletion(-) diff --git a/configure.in b/configure.in index 97e5c88..572dee1 100644 --- a/configure.in +++ b/configure.in @@ -69,7 +69,6 @@ PA_ADD_CFLAGS([-Werror=implicit]) PA_ADD_CFLAGS([-Werror=missing-braces]) PA_ADD_CFLAGS([-Werror=return-type]) PA_ADD_CFLAGS([-Werror=trigraphs]) -PA_ADD_CFLAGS([-Werror=trigraphs]) PA_ADD_CFLAGS([-Werror=pointer-arith]) PA_ADD_CFLAGS([-Werror=strict-prototypes]) PA_ADD_CFLAGS([-Werror=missing-prototypes]) |
From: nasm-bot f. H. P. A. <hp...@zy...> - 2014-11-25 20:36:25
|
Commit-ID: ad2acd7754dbfb3db6756bb338c3cc3bbdbe3bb0 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=ad2acd7754dbfb3db6756bb338c3cc3bbdbe3bb0 Author: H. Peter Anvin <hp...@zy...> AuthorDate: Tue, 25 Nov 2014 12:35:29 -0800 Committer: H. Peter Anvin <hp...@zy...> CommitDate: Tue, 25 Nov 2014 12:35:29 -0800 Add missing static declarations in rdoff/segtab.c Signed-off-by: H. Peter Anvin <hp...@zy...> --- rdoff/segtab.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rdoff/segtab.c b/rdoff/segtab.c index 4a4c5b8..ab162a9 100644 --- a/rdoff/segtab.c +++ b/rdoff/segtab.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2009 The NASM Authors - All Rights Reserved + * Copyright 1996-2014 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -70,7 +70,7 @@ void init_seglocations(segtab * root) *root = NULL; } -void descend_tree_add(struct segtabnode **node, +static void descend_tree_add(struct segtabnode **node, int localseg, int destseg, int32_t offset) { struct segtabnode *n; @@ -143,7 +143,7 @@ int get_seglocation(segtab * root, int localseg, int *destseg, return 0; } -void freenode(struct segtabnode *n) +static void freenode(struct segtabnode *n) { if (!n) return; |
From: nasm-bot f. H. P. A. <hp...@zy...> - 2014-11-25 20:36:21
|
Commit-ID: 31bcb6f866c4edeeccccbfad7b3ef377e1ba9775 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=31bcb6f866c4edeeccccbfad7b3ef377e1ba9775 Author: H. Peter Anvin <hp...@zy...> AuthorDate: Tue, 25 Nov 2014 12:35:03 -0800 Committer: H. Peter Anvin <hp...@zy...> CommitDate: Tue, 25 Nov 2014 12:35:16 -0800 Add missing static declarations in rdoff/rdoff.c Signed-off-by: H. Peter Anvin <hp...@zy...> --- rdoff/rdoff.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rdoff/rdoff.c b/rdoff/rdoff.c index 3c7b336..f451ce1 100644 --- a/rdoff/rdoff.c +++ b/rdoff/rdoff.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2009 The NASM Authors - All Rights Reserved + * Copyright 1996-2014 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -69,7 +69,7 @@ * how int32_t it is). * ======================================================================== */ -memorybuffer *newmembuf() +static memorybuffer *newmembuf() { memorybuffer *t; @@ -82,7 +82,7 @@ memorybuffer *newmembuf() return t; } -void membufwrite(memorybuffer * const b, void *data, int bytes) +static void membufwrite(memorybuffer * const b, void *data, int bytes) { uint16_t w; int32_t l; @@ -130,7 +130,7 @@ void membufwrite(memorybuffer * const b, void *data, int bytes) } } -void membufdump(memorybuffer * b, FILE * fp) +static void membufdump(memorybuffer * b, FILE * fp) { if (!b) return; @@ -140,14 +140,14 @@ void membufdump(memorybuffer * b, FILE * fp) membufdump(b->next, fp); } -int membuflength(memorybuffer * b) +static int membuflength(memorybuffer * b) { if (!b) return 0; return b->length + membuflength(b->next); } -void freemembuf(memorybuffer * b) +static void freemembuf(memorybuffer * b) { if (!b) return; |
From: nasm-bot f. H. P. A. <hp...@zy...> - 2014-11-25 20:36:20
|
Commit-ID: 48166388d54542c88eb2596b7e9b084c7c4e68a7 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=48166388d54542c88eb2596b7e9b084c7c4e68a7 Author: H. Peter Anvin <hp...@zy...> AuthorDate: Tue, 25 Nov 2014 12:34:03 -0800 Committer: H. Peter Anvin <hp...@zy...> CommitDate: Tue, 25 Nov 2014 12:34:03 -0800 Add missing static declarations in rdoff/rdflib.c Signed-off-by: H. Peter Anvin <hp...@zy...> --- rdoff/rdflib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rdoff/rdflib.c b/rdoff/rdflib.c index 1213bea..1490396 100644 --- a/rdoff/rdflib.c +++ b/rdoff/rdflib.c @@ -109,7 +109,7 @@ static void int32_ttolocal(int32_t *l) #endif } -char copybytes(FILE * fp, FILE * fp2, int n) +static char copybytes(FILE * fp, FILE * fp2, int n) { int i, t = 0; @@ -129,7 +129,7 @@ char copybytes(FILE * fp, FILE * fp2, int n) return (char)t; /* return last char read */ } -int32_t copyint32_t(FILE * fp, FILE * fp2) +static int32_t copyint32_t(FILE * fp, FILE * fp2) { int32_t l; int i, t; |
From: nasm-bot f. H. P. A. <hp...@zy...> - 2014-11-25 20:36:20
|
Commit-ID: b06da211f4a6585258157ffd38f272c48a6eae29 Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=b06da211f4a6585258157ffd38f272c48a6eae29 Author: H. Peter Anvin <hp...@zy...> AuthorDate: Tue, 25 Nov 2014 12:34:34 -0800 Committer: H. Peter Anvin <hp...@zy...> CommitDate: Tue, 25 Nov 2014 12:34:34 -0800 Add missing static declaration in rdoff/rdlib.c Signed-off-by: H. Peter Anvin <hp...@zy...> --- rdoff/rdlib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rdoff/rdlib.c b/rdoff/rdlib.c index 57ede6a..cf8d5e7 100644 --- a/rdoff/rdlib.c +++ b/rdoff/rdlib.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2009 The NASM Authors - All Rights Reserved + * Copyright 1996-2014 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -126,7 +126,7 @@ int rdl_open(struct librarynode *lib, const char *name) return 0; } -void rdl_close(struct librarynode *lib) +static void rdl_close(struct librarynode *lib) { if (lib->fp) fclose(lib->fp); |