summaryrefslogtreecommitdiff
path: root/modules
Commit message (Collapse)AuthorAgeFilesLines
* Fix function declaration warnings with clang (#226)HEADmasterBiswapriyo Nath2023-05-171-2/+2
| | | | | | | | | | | | This fixes the following compiler warnings with clang tools/genperf/perfect.c:65:6: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype] frontends/yasm/yasm.c:1379:23: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] modules/objfmts/elf/elf.c:225:18: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
* GAS preprocessor: don't cut comments inside of string literals. (#81)Ulya Trofimovich2023-05-121-1/+27
|
* More makedep features (#80)bird2tori2023-05-121-12/+8
| | | | | | | | yasm.c: Added -MD, -MT and -MP options similar to gcc. Also added --makedep-dos2unix-slash for helping users of NUG make (and similar) on Windows. The -MD option does both assembling and Makefile dependency generation in one go, which convenient and a little quicker. nasm-preproc.c: Have to always gather dependencies to support -MD. Minimal cost. Co-authored-by: knut st. osmundsen <bird-skylake@anduin.net>
* Fix allocator mismatch (#107)Duncan Ogilvie2023-05-121-3/+3
|
* Enable AES on westmere (#97)Kaz Wesley2023-05-121-1/+1
| | | | | | | | | | Prior to this change: cpu_lcd(['AVX'], ['AVX','AES']) == ['AVX'], causing AES instructions to be treated as unsupported when "cpu WESTMERE" is used, or even "cpu WESTMERE AES". Fixed by reordering ordered_cpu_features such that now, cpu_lcd(['AVX'], ['AVX','AES']) == ['AES']. I don't know if there are CPUs this would not be correct for, but this is the value that's consistent with all extant CPU definitions.
* Allow sha256rnds2 to have memory as 2nd operand (#108)Peter Meerwald-Stadler2023-05-121-1/+1
|
* Fix 128-bit variant of VPBLENDVB incorrectly marked as AVX2 instead of AVX ↵squidcc2023-05-121-1/+1
| | | | (#112)
* Update elf-objfmt.c (#148)kalebskeithley2023-05-121-0/+4
|
* Fix badly freed pointer on indented code block after rept (#189)Fighter192023-05-121-3/+4
|
* gas preproc: Fix UB/crashes (#186)cryptobro2023-05-121-0/+6
|
* Fix memleak of codeview leaf (#114)Peter Meerwald-Stadler2023-05-121-0/+1
|
* Add EM for loongarch (#192)liuxiang882023-05-121-1/+2
|
* Fix detecting Windows platform (#204)Biswapriyo Nath2023-05-121-1/+1
| | | | | | | | | | This replaces _MSC_VER macro with _WIN32 because the former one is for MSVC and Visual Studio only and is not defined in mingw environment. Wherease, _WIN32 macro is the proper way to check Windows platform irrespective of compiler toolchain. See the following official link for more info https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros
* Update Mach-O for newer macOS (#180)Peter Johnson2021-07-1014-303/+1786
| | | | | - Create a dummy .llvmasm section for bitcode - Add [buildversion] directive for setting minos and sdk versions, e.g. [buildversion minos="10.14" sdk="10.14"]. This defaults to 10.5 on x64 and 10.4 on x86.
* Fix test failures (#177)Peter Johnson2021-07-091-1/+1
| | | These were caused by the addition of the segreg-in-64bit warning.
* Revert optimizations added in #68 (#146)Denis Denisov2020-05-0310-237/+17
|
* Fix info.stab / info.stabstr typo in stabs-dbgfmt.c (#96)Ozkan Sezer2020-05-031-1/+1
|
* avoid 'return value of ftruncate ignored' warnings (#76)mostynb2017-09-231-1/+2
|
* allow movbe to be suffixed with wlq in gas syntax.Matt Oliver2017-09-231-1/+3
|
* fix memory errors when using gas processor with coff object output.Matt Oliver2017-09-231-0/+1
|
* Leak fixes (#79)bird2tori2017-09-233-0/+10
| | | | | | | | * preproc/nasm: Close the input file; addressed a few memory leaks. * yasm.c: delete include paths before we exit * cv-dbgfmt.c: Free cv_filename::filename too.
* New AMD Excavator MONITORX, MWAITX instruction support (for 32bit/64bit) (#78)Paul Blinzer2017-09-231-0/+14
| | | | | | | | | | | | | | | | | | | | MONITORX has opcode "0F 01 FA". rAX contains address to be monitored ECX specifies optional extensions EDX specifies optional hints MWAITX has opcode "0F 01 FA". EAX specifies optional hints ECX specifies optional extensions Public documentation: http://support.amd.com/TechDocs/24594.pdf New CLZERO instruction support (for 32bit/64bit) * clzero has opcode "0F 01 FC". * clzero gets enabled with CPUID, 8000_0008, EBX[0] =1. * clzero instruction zero's out the 64 byte cache line specified in rAX. Bits 5:0 of rAX are ignored Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. Redistributed under simplified 2-clause BSD licence
* Added -Wno-segreg-in-64bit.Peter Johnson2015-11-061-1/+1
| | | | | This allows suppressing the annoying 'segment register ignored in 64-bit mode' warning.
* Support numbers prefixed with + or - in %ifnumHenrik Gramner2015-10-171-1/+4
|
* Merge pull request #68 from jix/masterPeter Johnson2015-01-0110-17/+237
|\ | | | | Optimization and improved @jix
| * Interpret vstart as linear addressJannis Harder2012-08-011-3/+11
| | | | | | | | | | | | Changed segment:offset calculations so that vstart = 16*segment + offset and vseg = segment instead of vstart = offset. Without this the existing code to infer vstart addresses is not useful.
| * Generate segmented addresses for labelsJannis Harder2012-08-011-14/+26
| | | | | | | | | | | | | | - Labels defined inside sections with vseg have segment:offset addresses - The section.<section name>.vstart label has a segment:offset address
| * Add segments to label addressesJannis Harder2012-08-011-2/+14
| | | | | | | | | | Generate addresses with a segment part for labels inside a section with a defined vseg
| * squashmeJannis Harder2012-08-011-1/+79
| |
| * Overrides and dummy value finalization for binJannis Harder2012-07-311-0/+10
| | | | | | | | | | - Added support for overriding certain functions - Override value_finalize with dummy function for the bin objfmt
| * Add vseg section optionJannis Harder2012-07-3110-1/+101
| | | | | | | | | | | | | | - Added vseg and ivseg to bin_section_data - Parsing of vseg option as expression - Conversion to integer ivsg - Output of vseg in mapfiles
* | Fix yasm segfaults GNU assembler files on OS XDenis Denisov2014-11-151-7/+9
| | | | | | | | Bug: http://tortall.lighthouseapp.com/projects/78676/tickets/269
* | COFF/PE: Always set paddr and vaddr to 0.Peter Johnson2014-09-2621-7794/+7743
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It appears that GNU binutils always interpret PE/COFF object files as if they were executable files, namely that the paddr field is a rounded-up section size (aka virtual size). Yasm previously followed the Microsoft specification which stated that for object files this field should be set to the "physical address" of the section (e.g. the sum of all previous section sizes). However, several other sources state this field should be set to 0 in object files, and it appears that Microsoft tools accept this. For compatibility with the GNU tools, this commit makes Yasm always set the paddr/vsize field to 0. This commit also eliminates the COFF_SET_VMA customization for COFF files. Previously this was used to set LMA=VMA in COFF, but LMA=0 in PE. Now that VMA is always 0, this is no longer required (LMA=VMA=0 in both PE and COFF).
* | Add missing objfmt_x64 to CMakeLists.txt.Peter Johnson2014-09-191-0/+1
| | | | | | | | | | | | This caused cmake builds to not recognize "x64" as an object format. Reported by: Brian Gladman
* | Allow building of static executables with cmake.Peter Johnson2014-08-101-13/+23
| |
* | Warnings cleanup.Peter Johnson2014-08-108-30/+9
| |
* | coff-objfmt.c: Add missing break.Peter Johnson2014-04-131-0/+1
| | | | | | | | [#268 state:resolved]
* | Add cpu ivybridge, haswell, broadwell, skylake.Peter Johnson2014-04-051-3/+38
| |
* | Add Intel ADX, RDSEED, and SMAP instructions.Peter Johnson2014-04-0511-12/+158
| |
* | Add Intel SHA instructions.Peter Johnson2014-02-143-1/+53
| | | | | | | | Contributed by: Mark Charney @ Intel
* | Use a larger hash table sizeHenrik Gramner2014-01-211-1/+1
| | | | | | | | | | Increases compilation speed of files with a large number of macros by around 20x.
* | cv8: Fix line number issues with multiple files.Peter Johnson2013-07-034-40/+67
| | | | | | | | | | | | Patch by: Knut St. Osmundsen [#263 state:resolved]
* | Unbreak distcheck.Peter Johnson2013-06-211-2/+2
| |
* | Fix vpbroadcastq.Peter Johnson2013-06-211-1/+1
| | | | | | | | Patch by: Jason Garrett-Glaser <jason@x264.com>
* | Add support for "function" decorator in win32/win64.Peter Johnson2012-10-194-0/+171
| | | | | | | | | | | | This can be used on global directives (e.g. global _foo:function) to indicate the global is a function. This is useful for incremental linking in MSVC.
* | gas-parse.c: Eliminate warning.Peter Johnson2012-08-301-2/+0
| |
* | Add support for x32H.J. Lu2012-08-3030-20/+6427
| | | | | | | | | | | | | | X32 is a 32-bit psABI for x86-64 with 32-bit pointer size. More info can be found at: https://sites.google.com/site/x32abi/
* | Merge pull request #64 from sgraham/fix-win32-warningsPeter Johnson2012-08-302-2/+2
|\ \ | | | | | | Fix a couple warnings when building on win32
| * | fix a couple warnings when building on win32Scott Graham2012-05-092-2/+2
| | |
* | | Fix vphaddudq opcode; should be DB rather than D8.Peter Johnson2012-08-182-4/+4
| | |