Commit graph

4175 commits

Author SHA1 Message Date
Cyrill Gorcunov
aa08543575 test: nasm-t -- Add uscore test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
1fe16a00ab test: nasm-t -- Add struc test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
4272eb4508 test: nasm-t -- Add sha test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
ad6cb7c01b test: nasm-t -- Add sha-64 test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
7642fefb14 test: nasm-t -- Add xchg test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
daff45cf3c test: nasm-t -- Add xcrypt test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
502556c63d test: nasm-t -- Sort tests by name
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
149231f665 test: nasm-t -- Add zerobyte test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
0060e40246 test: nasm-t -- Add andbyte test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
2a34d0287e test: nasm-t -- Add align13s test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
750bc50aa8 test: nasm-t -- Write text data in utf8 form
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:43:45 +03:00
Cyrill Gorcunov
b4e3f11931 output: obj -- Fix nil dereference if no deps needed
Occasionally sneaked in by f7106d06e4

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-11-11 21:42:40 +03:00
H. Peter Anvin (Intel)
9a1216a1ef NASM 2.14 2018-11-07 13:43:01 -08:00
H. Peter Anvin (Intel)
522d15c407 nasmdoc.src: fix compound word 2018-11-07 12:54:23 -08:00
Chang S. Bae
4310eb9d42 doc: Add a description for a useful case of mangling symbols
Signed-off-by: Chang S. Bae <changseok.bae@gmail.com>
2018-10-30 10:11:08 +03:00
Cyrill Gorcunov
4b5b737d49 preproc: Don't access out of bound data on malformed input
There are a number of places still where we test text
data which is potentially may be an empty string. This
is known to happen on fuzzer input but usually doesn't
take place in regular valid programs. Surely we need
to revisit preprocessor code for this kind of errors.

https://bugzilla.nasm.us/show_bug.cgi?id=3392525

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-29 22:54:34 +03:00
Cyrill Gorcunov
b756372b06 rdstrnum: Make sure we dont shift out of bound
Otherwise we may hit underfined behavior.

https://bugzilla.nasm.us/show_bug.cgi?id=3392526

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-29 22:25:16 +03:00
Cyrill Gorcunov
bfa1ed0ae9 test: nasm-t -- Add UTF testcase
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28 23:51:45 +03:00
Cyrill Gorcunov
fa13a138ea stabs: Convert style and add comments
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28 23:51:38 +03:00
Cyrill Gorcunov
f856a97707 elf: Convert header to linux style
No functional changes.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28 23:51:31 +03:00
Cyrill Gorcunov
7a6e2550fc misc: Nindent -- Drop expand tabs with space option
Currently out code is rather a mix of space/tabs
with sometime different indent level. Mostly because
some of developers are came from kernel space. Lets
shift to kernel coding standart with small steps,
file by file. It really helps when you're sitting
in front of laptop more than 10 hours long.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28 23:51:25 +03:00
Cyrill Gorcunov
29a8299487 dwarf: Update header and drop redundant space
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28 23:51:18 +03:00
Cyrill Gorcunov
218971e5ac dwarf: Update definitions for v4 and v5
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28 23:51:10 +03:00
Cyrill Gorcunov
41f9ce464a .gitignore: Add patches directory
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28 23:51:03 +03:00
Cyrill Gorcunov
661f723d39 preproc: Fix out of bound access on malformed input
A fuzzer revealed a problem in preproc code.

https://bugzilla.nasm.us/show_bug.cgi?id=3392521

Reported-by: ganshuitao <ganshuitao@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28 20:39:34 +03:00
Cyrill Gorcunov
fe2e1d469a doc: Clarify %include search directory semantics
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-26 01:29:52 +03:00
H. Peter Anvin (Intel)
f7106d06e4 strlist: use a hash table
Use a hash table to enforce uniqueness in a string list. It is still
an ordered list, however, and can be walked in insertion order.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2018-10-25 12:33:58 -07:00
Cyrill Gorcunov
c7922f95af output: macho -- Rename sect_attribs to macho_known_section_attr
To unify with macho_known_section in namings.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-25 00:14:08 +03:00
Cyrill Gorcunov
458c04eca4 output: macho -- Use lookup_known_section helper
To make it similar to elf code.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-25 00:13:54 +03:00
Cyrill Gorcunov
fbc92bdb66 output: macho -- Beautify known sections
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-24 22:49:03 +03:00
Cyrill Gorcunov
68de05ca79 output: macho -- Move constants into the header
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-24 22:31:07 +03:00
Cyrill Gorcunov
3631bc29c1 Merge branch 'nasm-2.14.xx'
* nasm-2.14.xx:
  doc: Update changes
2018-10-21 15:45:36 +03:00
Cyrill Gorcunov
0e7f511151 doc: Update changes
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-21 15:45:02 +03:00
Cyrill Gorcunov
eb82f99367 Merge branch 'nasm-2.14.xx'
* nasm-2.14.xx:
  preproc: Make the preprocessor use nasm_catfile for include
  path: nasm_catfile -- Fix incorrect return of filename only
2018-10-21 15:06:36 +03:00
night199uk
fdb1a1b151 preproc: Make the preprocessor use nasm_catfile for include
All include paths to nasm must already have a trailing separator
prefix which is uncommon among tools. Change to using nasm_catfile
which gives a more normal behaviour.

https://bugzilla.nasm.us/show_bug.cgi?id=3392205

Signed-off-by: night199uk <night199uk@hermitcrabslab.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-19 01:00:11 +03:00
night199uk
e1bd3bc7b4 path: nasm_catfile -- Fix incorrect return of filename only
nasm_catfile returns an incorrect (already incremented) pointer.

https://bugzilla.nasm.us/show_bug.cgi?id=3392205

Signed-off-by: night199uk <night199uk@hermitcrabslab.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-19 00:55:54 +03:00
Cyrill Gorcunov
1f620b8e84 test: nasm-t -- Add alonesym-obj testcase
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-17 23:40:50 +03:00
Cyrill Gorcunov
dcf3937e92 test: nasm-t -- Use new syntax for update
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-17 23:36:43 +03:00
Cyrill Gorcunov
6977b23cfb travis: Disable osx for a while
osx update takes too long, disable it for a while.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-17 21:40:14 +03:00
Cyrill Gorcunov
ab50bc3780 Add travis status into readme
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-17 21:40:14 +03:00
Cyrill Gorcunov
2e1bf723a9 test: travis -- Add some of converted tests
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-17 21:40:14 +03:00
Cyrill Gorcunov
5453388940 test: travis -- Add initial support
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-17 21:40:14 +03:00
Cyrill Gorcunov
88ef566099 README: Update link to license
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-17 21:38:35 +03:00
Cyrill Gorcunov
b5e00ec018 Convert README to md format
And update it a bit.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-17 21:38:28 +03:00
Cyrill Gorcunov
f7b44f6092 Merge branch 'nasm-2.14.xx'
* nasm-2.14.xx: (83 commits)
  NASM 2.14rc16
  doc: Update changes
  preproc: expand_smacro -- Fix nil dereference on error path
  eval: Eliminate division by zero
  doc: Update changes
  opflags: Convert is_class and is_reg_class to helpers
  preproc: Fix out of range access in expand mmacro
  doc: Update changes
  parser: Fix sigsegv on certain equ instruction parsing
  labels: Make sure nil label is never passed
  labels: Don't nil dereference if no label provided
  macho: Add warning message in macho_output()
  macho/reloc: Fix addr size sensitive conditions
  macho/reloc: Fix macho_output() to get the offset adjustments by add_reloc()
  macho/reloc: Fixed offset adjustment in add_reloc()
  macho/reloc: Allow absolute relocation when forcing a symbol reference
  macho/reloc: Adjust SUB relocation information
  macho/reloc: Fixed in handling GOT/GOTLOAD/TLV relocations
  macho/reloc: Simplified relocation for REL/BRANCH
  macho/sym: Record initial symbol number always
  ...

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-15 22:58:13 +03:00
Cyrill Gorcunov
28b69e2a63 NASM 2.14rc16 2018-10-15 00:26:52 +03:00
Cyrill Gorcunov
1cbd48ad48 doc: Update changes
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-14 21:09:30 +03:00
Cyrill Gorcunov
980dd658b5 preproc: expand_smacro -- Fix nil dereference on error path
When error happened earlier we might have a.mac already
handled and set to nil.

https://bugzilla.nasm.us/show_bug.cgi?id=3392508

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-14 19:25:32 +03:00
Cyrill Gorcunov
ceec0d8187 eval: Eliminate division by zero
When doing division we should detect if the value we're
divided by is not zero. Instead of is_unknown() helper
we should use is_just_unknown().

https://bugzilla.nasm.us/show_bug.cgi?id=3392515
https://bugzilla.nasm.us/show_bug.cgi?id=3392473

Reported-by: Jun <jxx13@psu.edu>
Reported-by: stuartly <situlingyun@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-14 01:49:43 +03:00
Cyrill Gorcunov
d94402d6f7 doc: Update changes
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-13 23:03:24 +03:00