|author||brucedawson <email@example.com>||Tue Nov 22 21:32:30 2016|
|committer||Commit bot <firstname.lastname@example.org>||Tue Nov 22 21:32:30 2016|
Revert of Change some source_sets to static_library to shrink binary (patchset #1 id:1 of https://codereview.chromium.org/2519103003/ ) Reason for revert: It looks like this fails when rolled into Chromium, with this error: Undefined symbols for architecture x86_64: "_NaClSwitch", referenced from: _NaClSyscallSegRegsSaved in nacl_syscall_64.o (maybe you meant: _NaClSwitchAVX, _NaClSwitchSSE ) "_nacl_current_thread_tls_offset", referenced from: _NaClSyscallSeg in nacl_syscall_64.o _NaClGetTlsFastPath1 in nacl_syscall_64.o _NaClGetTlsFastPath1End in nacl_syscall_64.o ld: symbol(s) not found for architecture x86_64 from: https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_com... https://codereview.chromium.org/2523593005/ with these gn settings: goma_dir = "/b/c/cipd/goma" is_component_build = true is_debug = true symbol_level = 1 use_goma = true Original issue's description: > Change some source_sets to static_library to shrink binary > > The gn generated binaries are bigger than the gyp generated binaries. > One of the known differences was due to the nacl_global_rng and > g_NaCl_log_gio global variables which are in gn's chrome.dll but not in > gyp's. In some cases these global variables can serve as effective > canaries - removing them can lead to much code going away as well. > > Changing from source_set to static_library means that the linker is not > required to link in the associated .obj files, which can save time and > space. > > In this case no code was removed so the space savings was small - just > the 1.5 KB of space consumed by the globals. > > Remail@example.com > BUG=630755 > > Committed: https://chromium.googlesource.com/native_client/src/native_client/+/508aaa7b011729ee6eaab3384b89a7bfd0ecba73 TBRfirstname.lastname@example.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=630755 Review-Url: https://codereview.chromium.org/2525583003
Welcome to Native Client. For the latest information about Native Client, see the Native Client project page.
Most of the Native Client project documentation is available online:
The following list describes major files and directories that you‘ll see in your working copy of the repository, including some directories that don’t exist until you've built Native Client. Paths are relative to the
COPYING NOTICE README.md RELEASE_NOTES documentation/: Documentation, release, and license information.
SConstruct scons.bat scons scons-out/ site_scons/: Build-related files. The
scons files, with data from
SConstruct, let you build Native Client and its tests. The
site-scons directories don‘t exist in the git repository; they’re created when Native Client is built. The
scons-out/*/staging directories contain files, such as the Native Client plug-in and compiled examples, that let you use and test Native Client.
src/: Core source code for Native Client.
src/include/: Header files that are missing from some platforms and are used by more than one major part of Native Client
src/shared/: Source code that's used by both trusted code (such as the service runtime) and untrusted code (such as Native Client modules)
src/third_party: Other people's source code
src/trusted/: Source code that's used only by trusted code
src/untrusted/: Source code that's used only by untrusted code
tests/common/: Source code for examples and tests.
../third_party/: Third-party source code and binaries that aren't part of the service runtime. When built, the Native Client toolchain is in
tools/: Utilities such as the plug-in installer.