summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-04Merge "Fix linker issue on MacOS" into emu-master-devnetsim-devemu-prebuiltsemu-master-devemu-35-1-releaseemu-34-releaseemu-34-devemu-34-3-releaseemu-34-2-releaseemu-34-2-devemu-33-releaseemu-33-devemu-32-releaseemu-32-devemu-31-stable-releaseemu-31-releaseemu-30-releaseaosp-emu-34-devaosp-emu-30-releaseTreehugger Robot
2020-05-04Remove OWNERS file.Erwin Jansen
Exempt-From-Owner-Approval: The emulator team should be able to make changes to the repo. Change-Id: Ibaa6212a5b86eddc14c4c156b1072da03b70c8ae
2020-05-01Fix linker issue on MacOSErwin Jansen
The linker on macos ignores "common" symbols, resulting in linker failures. We now explicitly initialize the zero buffer to make sure this doesn't happen. See https://stackoverflow.com/questions/28464770 for details on why this happens on MacOs. Bug: b/155459126 Change-Id: Ibf1a8818a9ad2675861883fbbe2c5b7103585004
2020-01-21Merging nasm from chromium.Erwin Jansen
This brings in nasm, which is maintained by the chrome team. Change-Id: I424de3bd2279e42f7447b8cae687ea594ca89093
2019-10-07Add "# COMPONENT" to nasm OWNERS fileEric Foo
See https://tinyurl.com/yxau5sc4 for context. Bug: 977050 Change-Id: I04cc653c4edaf2776f0df44ffb04f7fde1724cd6
2019-08-06Merge "Revert "Skip compiling ilog2.c on Windows where 'inline' uses C++ ↵David Benjamin
semantics""
2019-08-06Revert "Skip compiling ilog2.c on Windows where 'inline' uses C++ semantics"Reid Kleckner
This reverts commit da0dcccc44f11809d1241fcd52b4c0e25146d2a2. Reason for revert: Not needed after: https://chromium-review.googlesource.com/c/chromium/deps/nasm/+/1739613 Change-Id: Ibd11f2dda55ac76c4b4a7c3623164f3e516a9978
2019-08-06Fix extern_inline for MSVC and clang-clReid Kleckner
Prior to this change, no inline function bodies would be provided for MSVC. This change fixes that, so nasm will be slightly faster. With clang-cl, however, there would be LNK4006 warnings if the compiler chooses not to inline the ilog2 functions. The easiest way to observe this is with `nmake /f Mkfiles/msvc.mak CC=clang-cl DEBUG=1`. This disables inlining, and I see this at the end of the link: ilog2.obj : warning LNK4006: ilog2_32 already defined in outmacho.obj; second definition ignored ilog2.obj : warning LNK4006: ilog2_64 already defined in eval.obj; second definition ignored ilog2.obj : warning LNK4006: alignlog2_32 already defined in outmacho.obj; second definition ignored When additional instrumentation (-fprofile-instr-generate) is enabled, the warning can become an error, as we discovered in https://crbug.com/989745. MSVC and compilers pretending to be MSVC (clang-cl) implement inline in C with C++ semantics. In C++, inline functions are emitted by the compiler whenever they are needed and the linker discards duplicate inline function definitions. This change adds a new HAVE_MSVC_INLINE macro and adjusts the ifdefs to handle this mode. I chose to keep ilog2.c as part of the build, and to have it emit duplicate definitions of all the inline functions. An alternative solution would be to exclude it from the build, but I felt it was best to solve this in source code instead of the build system. R=dalecurtis@chromium.org, davidben@chromium.org Chromium-specific: I reran find_patches.py with some modifications to make it work on Windows. Change-Id: I21011ed4f619f920c53f7cfc3afaa32dc2c0ff4e
2019-08-01Skip compiling ilog2.c on Windows where 'inline' uses C++ semanticsReid Kleckner
Providing definitions for the ilog2 inline functions in a separate .c file is not necessary and causes link errors if the compiler chooses not to inline. Bug: 989745 Change-Id: I0911d02e9601395a235e4a70787087844f8d5ba1
2019-06-19Don't opt out of sanitizers in third_party/nasmDavid Benjamin
This causes build problems with MSan because the opt-out does not quite work. Start with the simple solution and see if just building it normally works. (If NASM has bugs, may as well get them fixed.) If this causes issues, we can apply a more targetted workaround. Bug: 928357 Change-Id: I5260d16d3bcd42117eb4053b6916d29798494514
2019-05-01Merge "Propogate all_dependent_configs for nasm_assemble()."Dale Curtis
2019-03-13Fix condition for using no_default_deps=trueTom Anderson
The last change broke sanitizer builds. This is a more targeted fix. More context here: https://chromium-review.googlesource.com/c/chromium/src/+/1521275 BUG=801780 R=davidben Change-Id: Ice2a147d463170d5c0f414ab3465c5caa8b0d247
2019-03-13Merge "Add no_default_deps to nasm executable"David Benjamin
2019-03-13Add no_default_deps to nasm executableTom Anderson
nasm doesn't have any C++ dependencies, so omit linking in libc++ by adding no_defualt_deps=true. This also fixes a link error on Windows/ static/use_custom_libcxx=true builds (see [1] for more context). [1] https://chromium-review.googlesource.com/c/chromium/src/+/1521275 BUG=801780 R=davidben Change-Id: Ie60ac7d5116d08ab83e9bfe9848b06407a9aaa9c
2019-02-21Propogate all_dependent_configs for nasm_assemble().Dale Curtis
Needed by ffmpeg to propogate a "-Wl,-z,notext" flag when building ia32 with use_lld=true. BUG=911658 R=thakis Change-Id: I3d3c1001b3f6089c574ec60f6590362a8fb807b4
2019-02-19use no_chromium_code configTakuto Ikuta
also applied `gn format`. Bug: b/123484576 Change-Id: Ic40ded213779c91c53d6ddb1bd802e14411f956a
2019-02-13Fix wrong filename for winTakuto Ikuta
Change-Id: I895c3c42e2e9b705c0af2fdffe0f67184c8972a2
2018-12-05nasm: Fix license path in README.chromiumRaphael Kubo da Costa
Bug: chromium:39240 Change-Id: I588719bc19d04b0aa80f17cacef37c223ff432c6
2018-11-26Remove uses of time(NULL) for build determism.Dale Curtis
Removes cases suggested on the bug. BUG=766721 TEST=none Change-Id: I88c11d052aef8a9c4e48b3b976ad432f3b008dd6
2018-11-19Add README.patches, clone find_patches.py from ffmpeg repository.Dale Curtis
Script allows for automatically generating the README.patches file so we can track local modifications more easily. BUG=766721 Change-Id: I4170a5b629ded08d6bafe1d0b131527588773059
2018-11-09Fix windows build warnings for MSVC (continued).Yves Gerey
Bug: chromium:766721 Change-Id: I27ab96eeb9e25a87ac37553a33577d79680ec32a
2018-11-09Fix windows build warnings for MSVC.Yves Gerey
Warnings were only muted for clang. Bug: chromium:766721 Change-Id: Ie7871b791ea3bc0013c774d9a8118cc0eab302aa
2018-11-01Provide a bit more clarity in the README file for updating.Dale Curtis
BUG=766721 Change-Id: I0d62c8e718714ad227f579d5c41ed34a77c47110
2018-11-01Fix windows build warning / error.Dale Curtis
2018-11-01Just use the built-in msvc.h instead of a hand generated Windows one.Dale Curtis
Per local benchmarks on test/avx512f.asm, a config.h generated using Cygwin plus clang-cl yielded a compilation time of ~450ms, while just using the built in msvc.h yielded ~405ms. So this is a no brainer: one less platform to generate and it's faster. BUG=766721 Change-Id: Ic6e930bce1a99adef037ac3fd56fef205696febc
2018-11-01Fix comment characters in config.hDale Curtis
2018-11-01Merge "Add codereview.settings file to suppress warning spam."Dale Curtis
2018-11-01Change config.h into a platform specific includer. Mac needs config.Dale Curtis
Unfortunately Mac needs its own build config, possibly Windows does too, so we need to create special configs per platform. Since the nasm source also explicitly include "config/config.h" we need to change the base config.h into one that includes the right platform config. This only fixes Mac for the moment, I'll send a fix for Windows once I've tried clang-cl on my Windows machine. At present the config-win.h file is just a copy of the Linux one. BUG=766721 Change-Id: Ib92a2aa5ad8a0ecb651072a7e7d91f3d8ad6478d
2018-11-01Add codereview.settings file to suppress warning spam.Dale Curtis
I don't think this is used for anything anymore, but this clones the file from the ffmpeg repository to avoid spam when operating with some depot tools. BUG=766721 R=davidben Change-Id: I424d550edf59c47b1c764e9cf8e68b8ac83140f7
2018-10-31Add all the chromium stuff necessary to build nasm.Dale Curtis
This adds the BUILD file and configuration davidben at chromium.org wrote originally on https://chromium-review.googlesource.com/c/chromium/src/+/1119211 This is the last CL enabling nasm usage in Chromium (fingers crossed), but may need some tweaks to build on Windows mac. A subsequent Chromium CL adding the DEP will test this theory. BUG=766721 Change-Id: I481fc8d7f1747dad74cd0a02a251a65cfd78a134
2018-10-31Add all sources generated by "make perlreq"Dale Curtis
This step is required to turn source templates into sources. A later commit will document this process in README.chromium. This is one of the initial commits preparing NASM for use in Chrome. BUG=766721
2018-10-31Apply deterministic build patch.Dale Curtis
This removes __DATE__ from a few places to ensure the build is always the same. Patch originally authored by davidben at chromium.org This is one of the initial commits preparing NASM for use in Chrome. BUG=766721 Change-Id: I4217f9ffed1455b8f244b024dc10dbb8c5c0664d
2018-10-31Update .gitignore not to ignore generated files Chrome needs.Dale Curtis
By default any file generated by "make perlreq" is hidden by the .gitignore. This may require ongoing maintanence, so a PRESUBMIT has been added to prevent future regressions. This is the first of the commits preparing NASM for use in Chrome. BUG=766721 TEST=none Change-Id: Ib6cae0b2e6ad0420185a01497e2184c094cc105e
2018-10-28test: nasm-t -- Add UTF testcaseCyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28stabs: Convert style and add commentsCyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28elf: Convert header to linux styleCyrill Gorcunov
No functional changes. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28misc: Nindent -- Drop expand tabs with space optionCyrill Gorcunov
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-28dwarf: Update header and drop redundant spaceCyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28dwarf: Update definitions for v4 and v5Cyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-28.gitignore: Add patches directoryCyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-25strlist: use a hash tableH. Peter Anvin (Intel)
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-25output: macho -- Rename sect_attribs to macho_known_section_attrCyrill Gorcunov
To unify with macho_known_section in namings. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-25output: macho -- Use lookup_known_section helperCyrill Gorcunov
To make it similar to elf code. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-24output: macho -- Beautify known sectionsCyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-24output: macho -- Move constants into the headerCyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-21Merge branch 'nasm-2.14.xx'Cyrill Gorcunov
* nasm-2.14.xx: doc: Update changes
2018-10-21doc: Update changesCyrill Gorcunov
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2018-10-21Merge branch 'nasm-2.14.xx'Cyrill Gorcunov
* nasm-2.14.xx: preproc: Make the preprocessor use nasm_catfile for include path: nasm_catfile -- Fix incorrect return of filename only
2018-10-19preproc: Make the preprocessor use nasm_catfile for includenight199uk
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-19path: nasm_catfile -- Fix incorrect return of filename onlynight199uk
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>