summaryrefslogtreecommitdiffstats
path: root/base/base_nacl.gyp
Commit message (Collapse)AuthorAgeFilesLines
* Reland: add dump provider for malloc heap profiler ↵primiano2016-03-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/1675183006/) Reason for reland: the previous CL forgot about the fact that nacl has its own special base target (base_nacl) which is a fork of the real base one. That caused a revert in crrev.com/1822013002 because: - The original CL introduced a dependency from a translation unit in base (malloc_dump_provider.cc) to allocator_features.h, which is a generated header. - The original CL was relying on the fact that there is an existing dependency from base to allocator_features declared in base.gyp. - The original CL forgot about the need of the same dependency from base_nacl. This cl is fixing the latter point. Original breakage: https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Mac/builds/8808 Original issue's description: > tracing: add dump provider for malloc heap profiler > > Now that the allocator shim is landing (the base API landed in > crre.com/1675143004, Linux support in crrev.com/1781573002) we > can use that to implement the malloc heap profiler on top of that. > This CL leverages the new shim API to collect information about > malloc/free and injecting that into the heap profiler, leveraging > the same infrastructure we are already using for PartitionAlloc > and BlinkGC (oilpan). > > Next steps > ---------- > Currently this heap profiler reports also the memory used by the > tracing subsystem itself, which is not desirable. Will come up > with some scoped suppression semantic to bypass the reporting. > > BUG=550886 > TBR=haraken > > Committed: https://crrev.com/14c8b52dac1285bbf23514d05e6109aa7edc427f > Cr-Commit-Position: refs/heads/master@{#382505} BUG=550886, 596873 TBR=ssid@chromium.org,petrcermak@chromium.org,dskiba@google.com,haraken@chromium.org Review URL: https://codereview.chromium.org/1831763003 Cr-Commit-Position: refs/heads/master@{#383225}
* Makes GetBuildTime behave sanely on all build types.zforman2016-02-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After discussion with maruel and agl, it seems that (1) for the purposes of build determinism, it's necessary to be able to arbitrarily set the build time. (2) for the purposes of continuous integration, longer duration between cache invalidation is better, but >=1mo is preferable. (3) for security purposes, timebombs would ideally be as close to the actual time of the build as possible. It must be in the past. (4) HSTS certificate pinning is valid for 70 days. To make CI builds enforce HTST pinning, <=1mo is preferable. All of these can reasonably be satisfied by using different settings for CI versus official builds: - For official build, the build time is set to 5:00am of the day of the build or the day before. - For continuous integration build, the build time is set to the current month. If the current day is within the first week of the month and last Sunday wasn't part of the current month, the Sunday of the previous month is used. This results that cache invalidation happens on a Sunday, which is preferable from an infrastructure standpoint. - In the case that the build time needs to be set to a specific value (i.e. to reproduce a build), the GN/GYP variable 'override_build_date' can be used to set the BUILD_DATE explicitly. Its format is "Mmm DD YYYY". The way it is done is: - Generate $target_gen_dir/generated_build_date.h that defines BUILD_DATE. Its value depends on if an official build is done or not. - This step depends on build/util/LASTCHANGE so it is run at every sync. The file is only touched if the content changed to not affect null build. Most importantly, this change removes the need of both GN/GYP variable "dont_embed_build_metadata" and C define "DONT_EMBED_BUILD_METADATA"; the build is always deterministic (up to a month) by default. This removes the risk oversight of forgetting to set this variable, which already happened. R=maruel@chromium.org BUG=489490 Review URL: https://codereview.chromium.org/1641413002 Cr-Commit-Position: refs/heads/master@{#375136}
* move libevent into basetfarina2015-12-191-1/+1
| | | | | | | | | | | | | | | This simplifies the process of bootstrapping gn standalone. And libevent is not really used outside of base. base is actually its only client. BUG=569352 TEST=See CL for details for how to reproduce this. R=thestig@chromium.org TBR=cpu@chromium.org Review URL: https://codereview.chromium.org/1531573008 Cr-Commit-Position: refs/heads/master@{#366282}
* Move ENABLE_PROFILING to build flags system.brettw2015-12-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | This flag is only used in 3 files so having a global define is unnecessary. Moves the build flag to compiler.gni so it can be included by the new target in base that generates the header, as well as the tcmalloc target. The tcmalloc target now conditionally compiles the profiler depending on this flag. This is something the GYP build does but was inconsistent in GN. This results in the tcmalloc source files not being compiled in normal builds. This should remove the static initializer in tcmalloc profiling in the normal build. Independently, remove an iostream use in gin logging. Use printf instead. BUG=559766 R=dpranke@chromium.org Reland of https://codereview.chromium.org/1499773002 with fix NOPRESUBMIT=true (on account of changing the printf, which I did not add) Review URL: https://codereview.chromium.org/1498733007 Cr-Commit-Position: refs/heads/master@{#363318}
* NaCl: Update revision in DEPS, 9f6a876 -> 0cf13c0dschuff2015-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | This pulls in the following Native Client changes: ff41268: (dschuff@chromium.org) Clean up IRT build flags in untrusted.gypi 1940bfa: (dschuff@chromium.org) Build the IRT with nacl-clang for ARM fe85f88: (jvoung@chromium.org) PNaCl: Update llvm revision in pnacl/COMPONENT_REVISIONS 254c1f3: (sbc@chromium.org) untrusted.gypi: IRT/nonsfi build depends on pnacl rather than newlib toolchain 821cf4b: (lhchavez@chromium.org) Reland "Non-SFI mode: Add Linux asynchronous signal support" 6273f35: (dschuff@chromium.org) Fix ARM IRT gyp dependence rules to depend on the correct toolchain 0cf13c0: (mseaborn@chromium.org) SCons: Clean up so that gtest-all.o doesn't get put in the source directory Changes: https://chromium.googlesource.com/native_client/src/native_client/+log/9f6a8764c9ae8d491045c27b64634639b815f64a..0cf13c015762a9fc573d2219a30100b8f4bf4cc2 BUG=none TEST=browser_tests and nacl_integration CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_chromium_dbg_32_ng,linux_arm_compile,linux_nacl_sdk_build Review URL: https://codereview.chromium.org/1309213002 Cr-Commit-Position: refs/heads/master@{#345174}
* Build ForkWithFlags and part of NamespaceSandbox under nonsfi newlib.rickyz2015-06-191-0/+4
| | | | | | | | | | | | | | | These functions are needed for enabling separate PID namespaces for nonsfi newlib NaCl processes. This change is an adaptation of hidehiko@'s https://codereview.chromium.org/1161933003/ with some additional functions from NamespaceSandbox added. BUG=460972 Review URL: https://codereview.chromium.org/1176413003 Cr-Commit-Position: refs/heads/master@{#335175}
* Non-SFI mode: Implement test launcher for nacl_helper_nonsfi_unittests.hidehiko2015-06-091-0/+25
| | | | | | | | | | | | | | This CL implements a test launcher customized for nacl_helper_nonsfi_unittests. - Existing nacl_helper_nonsfi_unittests is renamed to nacl_helper_nonsfi_unittests_main. - The new test launcher is built with a toolchain for the target architecture rather than PNaCl toolchain. - XmlUnitTestResultPrinter is now extracted into a separate file. TEST=Ran bots (with and without editing testing/buildbots scripts). Run locally. BUG=358465 Review URL: https://codereview.chromium.org/1154313003 Cr-Commit-Position: refs/heads/master@{#333430}
* NaCl/GYP: remove references to prep_toolchain.ncbray2015-04-211-5/+0
| | | | | | | | | | prep_toolchain is now a no-op. BUG=456902 Review URL: https://codereview.chromium.org/1097153002 Cr-Commit-Position: refs/heads/master@{#326044}
* Fix order of includes in base_nacl.gypsergeyu2015-03-041-1/+5
| | | | | | | | | | | | GYP wasn't generating correct list of dependencies when base.gypi was included after untrusted.gypi. As result libbase_nacl.a wasn't always rebuilt when the sources it depends on were changed. BUG=461422 Review URL: https://codereview.chromium.org/976863002 Cr-Commit-Position: refs/heads/master@{#319092}
* Small refactor of base_nacl.gyphidehiko2014-10-231-14/+7
| | | | | | | | | | | | | | | | | | 1) Now, native_client/src/public/linux_syscalls are included automatically during the PNaCl toolchain's build for Non-SFI. So, it is not necessary to add it for each target. 2) <(DEPTH) is replaced by .. as relative path is preferred. 3) Sort dependencies. 4) No base_nacl_nonsfi is needed only when "disable_nacl == 0 and disable_nacl_untrusted == 0". So we can merge the targets. BUG=358465 TEST=Ran trybot. Review URL: https://codereview.chromium.org/672213002 Cr-Commit-Position: refs/heads/master@{#300933}
* Non-SFI Mode: Build base/ library by PNaCL toolchain for nacl_helper_nonsfi.hidehiko2014-10-171-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | This CL is to build base/ for nacl_helper_nonsfi. The library is similar to base_nacl, but slightly different: - For rand_util, rand_util_posix should be used, instead of rand_util_nacl, because nacl_helper_nonsfi will be running under Linux directly. - MessageLoopForIO should be based on MessagePumpLibevent rather than MessagePumpDefault, to support IPC. - GetKnownDeadTerminationStatus, GetTerminationStatus, UnixDomainSocket::SendMsg and RecvMsg are included, as these are used to implement nacl_helper_nonsfi binary. - GLIB is not supported. It is unnecessary for nacl_helper_nonsfi. Note that this library is not used yet from any binary, because this CL is just a preparation, but the library is built actually. BUG=358465 TEST=Ran trybot. Implement nacl_helper_nonsfi on top of this CL, and made sure it is working. Review URL: https://codereview.chromium.org/659513004 Cr-Commit-Position: refs/heads/master@{#300075}
* Don't build base with nacl glibc and newlib toolchainsdschuff2014-09-051-3/+3
| | | | | | | | | | | | | | | It's unnecessary because nothing appears to depend on it, and it blocks use of C++11 in base. The IRT build is still enabled because the IRT is the primary user of base_nacl. The pnacl_newlib build is still enabled because the remoting client uses it. BUG=360096 R=thakis@chromium.org,mseaborn@chromium.org Review URL: https://codereview.chromium.org/540093002 Cr-Commit-Position: refs/heads/master@{#293442}
* Rename base_untrusted to base_naclsergeyu@chromium.org2014-02-221-0/+71
BUG=345453 R=brettw@chromium.org TBR=ben@chromium.org Review URL: https://codereview.chromium.org/174493002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252732 0039d316-1c4b-4281-b951-d872f2087c98