Age | Commit message (Collapse) | Author |
|
|
|
Exempt-From-Owner-Approval:
The emulator team should be able to make changes to the repo.
Change-Id: Ibaa6212a5b86eddc14c4c156b1072da03b70c8ae
|
|
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
|
|
This brings in nasm, which is maintained by the chrome team.
Change-Id: I424de3bd2279e42f7447b8cae687ea594ca89093
|
|
See https://tinyurl.com/yxau5sc4 for context.
Bug: 977050
Change-Id: I04cc653c4edaf2776f0df44ffb04f7fde1724cd6
|
|
semantics""
|
|
This reverts commit da0dcccc44f11809d1241fcd52b4c0e25146d2a2.
Reason for revert: Not needed after:
https://chromium-review.googlesource.com/c/chromium/deps/nasm/+/1739613
Change-Id: Ibd11f2dda55ac76c4b4a7c3623164f3e516a9978
|
|
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
|
|
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
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
Needed by ffmpeg to propogate a "-Wl,-z,notext" flag when building ia32
with use_lld=true.
BUG=911658
R=thakis
Change-Id: I3d3c1001b3f6089c574ec60f6590362a8fb807b4
|
|
also applied `gn format`.
Bug: b/123484576
Change-Id: Ic40ded213779c91c53d6ddb1bd802e14411f956a
|
|
Change-Id: I895c3c42e2e9b705c0af2fdffe0f67184c8972a2
|
|
Bug: chromium:39240
Change-Id: I588719bc19d04b0aa80f17cacef37c223ff432c6
|
|
Removes cases suggested on the bug.
BUG=766721
TEST=none
Change-Id: I88c11d052aef8a9c4e48b3b976ad432f3b008dd6
|
|
Script allows for automatically generating the README.patches file
so we can track local modifications more easily.
BUG=766721
Change-Id: I4170a5b629ded08d6bafe1d0b131527588773059
|
|
Bug: chromium:766721
Change-Id: I27ab96eeb9e25a87ac37553a33577d79680ec32a
|
|
Warnings were only muted for clang.
Bug: chromium:766721
Change-Id: Ie7871b791ea3bc0013c774d9a8118cc0eab302aa
|
|
BUG=766721
Change-Id: I0d62c8e718714ad227f579d5c41ed34a77c47110
|
|
|
|
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
|
|
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
No functional changes.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
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>
|
|
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
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>
|
|
To unify with macho_known_section in namings.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
To make it similar to elf code.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
* nasm-2.14.xx:
doc: Update changes
|
|
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
* nasm-2.14.xx:
preproc: Make the preprocessor use nasm_catfile for include
path: nasm_catfile -- Fix incorrect return of filename only
|
|
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>
|
|
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>
|