-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix build with new generator #162
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- CRC4: More readable policy, added explanatory comment - Use `AllowLlvmSaniters()` in policies PiperOrigin-RevId: 402296504 Change-Id: I6853199abedf2441eaffff9186d4d354c142e485
This is mainly so that the structure of the examples follows what we do internally (not having separate directories). PiperOrigin-RevId: 402298115 Change-Id: I0f542607b88597572de39532364816f80a076697
PiperOrigin-RevId: 402795383 Change-Id: Ia576259078f40a3ca6b96094bd15c3ea7b0b79d9
PiperOrigin-RevId: 404246588 Change-Id: I1fdb33f76ae847cb6c4ff9916b64e8b37cfeadbe
PiperOrigin-RevId: 407865992 Change-Id: Ia14dc5cc1628337292586955f1c17a8d8f2995de
PiperOrigin-RevId: 409129756 Change-Id: Ib9937495966f545fb980eba04393db640af2325f
Generate syscall jump table without using bpf_helper. Check that any jump in the user provided policy is within the provided policy. PiperOrigin-RevId: 409362089 Change-Id: I31493e52cf868e4b184ff79fcb26beeb75f49773
PiperOrigin-RevId: 409391470 Change-Id: Iad14caabbada1278216e5e28ba55bae8dc8b9b2b
PiperOrigin-RevId: 409908616 Change-Id: I18f87b41eae3f96fd60b8cd14073bd8df66fae98
PiperOrigin-RevId: 409932987 Change-Id: I388aca627d6d0f3c9d5721e66574fb8af85cc8f4
PiperOrigin-RevId: 410463096 Change-Id: I370705131ac78f26736646596189d8cad2bb70c2
…e platform spellings. PiperOrigin-RevId: 410474889 Change-Id: I41f870ad49e2203a6bdf833102c0d0a9cafa7af4
Different versions of the `elf.h` header define their own integer types. For example, even on LP64 systems, a 64-bit ELF integer types may decay into `unsigned long long` instead of `unsigned long`. This change replaces the various overloads with a single function template that is well-defined for all integral types. PiperOrigin-RevId: 410746713 Change-Id: I4b560f7541802372f01ae3d6f4a56554e51d70c8
PiperOrigin-RevId: 412861975 Change-Id: I0f168bc71b5738ed55b836f148ded94bf397d27d
This change is a first step to make the SAPI variable hierarchy more sensible. It turns the `Reg<T>` class into a descendant of `Pointable`, but without making its `PtrXXX()` methods public (hence the `using` statements). Further changes are needed to restructure this. There are no functional changes and the class sizes, including vtables, should not change. PiperOrigin-RevId: 413333120 Change-Id: I90ceeaeb7aea482016f8f4bee81489d5a9db9ade
PiperOrigin-RevId: 413351344 Change-Id: I93962c43649fab1f73b3960044563e54449af271
PiperOrigin-RevId: 413362657 Change-Id: Ie75672101b2aba4183f9aa3e39679a99f309e155
PiperOrigin-RevId: 413442229 Change-Id: I48d03ce200160da1c86faec29b2ca51fb1ead834
PiperOrigin-RevId: 413616359 Change-Id: I553c17f0668708b00fdb12a21109ed45aeba6c66
PiperOrigin-RevId: 413907279 Change-Id: I3a32be4b19acab8b2b2092961df3dd9f3699261b
PiperOrigin-RevId: 413911008 Change-Id: I59cdac60c092f31fb487f032b3489341c0ba626a
PiperOrigin-RevId: 413928700 Change-Id: I0bc4dd86b45c0ddd679a435003fbad2aea27fbf2
PiperOrigin-RevId: 413954176 Change-Id: Ie07c1c8d96019e1605ea3b9ed58030754954ee97
PiperOrigin-RevId: 414385430 Change-Id: I4e70d25f886f1ef65fab1b62c67e80eb45407bc7
PiperOrigin-RevId: 414387983 Change-Id: I872c2f3bc1ccaf7a20d7ab97a5cb104d4f096a3f
PiperOrigin-RevId: 414406963 Change-Id: Id8155b67ce063a9171b70e24b58d407415b30e78
This fixes a build error introduced in 26da6e6. PiperOrigin-RevId: 414408033 Change-Id: Ic34d5eeba3bb34f9a5ce46a05547129fbab8bce0
PiperOrigin-RevId: 414480521 Change-Id: If0ffca2141589ea3cf0dec4b0524c50ca37489b4
PiperOrigin-RevId: 414659990 Change-Id: I25215d0f03cf998fee068ae7db91b7e438fcc4f5
PiperOrigin-RevId: 437959185 Change-Id: Idd6d0abcd5014edb415eb8d4e67b269811f139cb
This will allow us to experiment with (and subsequently migrate to) changes to the generated API, possibly incompatible ones. This change should be a no-op for current builds, as there is only a single version of Sandboxed API. PiperOrigin-RevId: 438003314 Change-Id: Ia23ea4360bee0227692d9f5220ab20d85f089ba7
…rm64 PiperOrigin-RevId: 438017732 Change-Id: I10a8ec154793f57f194a265e590f39b36c3d3043
PiperOrigin-RevId: 438325813 Change-Id: I13fc285f19ff333e56ef018a77ec5c789d8b09ff
Update `.bazelrc` for local (host target) tooling. This is a necessary precondition to compile the new interface generator with Bazel. PiperOrigin-RevId: 438541332 Change-Id: I9341ee4d1f4434c1d083e0d49774c61f9ebd7d7b
PiperOrigin-RevId: 438754304 Change-Id: Icb763ee93ea1b36ab52a05a9e2bebb217fccffe7
This adds a workspace rule that inspects the current system first and downloads a suitable version of LLVM/Clang from GitHub if it can't find one. In the latter case, the necessary parts are build from source, which can take a while (~10-15m, depending on the build machine). In order to be found, LLVM/Clang system libraries must be version 11 or higher. On Debian/Ubuntu, install `llvm-13-dev` and `libclang-13-dev`. The new `llvm_config.bzl` implements this logic. It is loosely based on upstream's https://github.com/llvm/llvm-project/blob/main/utils/bazel/configure.bzl. Note that due to the way Bazel separates local repositories, we have to duplictate some of this code. PiperOrigin-RevId: 438759950 Change-Id: Ia65f473b4cdef6507e3816bf09794ea10963d87a
This should make the build much faster when compiling the new interface generator on BazelCI. PiperOrigin-RevId: 438762508 Change-Id: Ie7efe14d7bd2b14d58cbbb7865b36751918d9145
This change introduces an experimental `generator_version` attribute to the `sapi_library()` rule. Version `1` will select the current interface generator, which is based on libclang and Python. Setting the attribute to version `2`, will select the newer interface generator written in C++ that uses a full clang compiler frontend for parsing. Both emit equivalent header output, differences in parsing and/or edge cases notwithstanding. The default, as of now, is still the old version `1` generator. Note: CMake allows to select the new interface generator globally by setting `SAPI_ENABLE_GENERATOR`. PiperOrigin-RevId: 438765013 Change-Id: I69c49a6bcf1751724edb0bce5c3b2beea2097138
No change in behavior. PiperOrigin-RevId: 438766481 Change-Id: Iaf52d32856007fb83ee0032d4d5097482f45f47d
PiperOrigin-RevId: 438800858 Change-Id: Ib7584313ff51869e3e62d5c54c2f04e2969bae50
PiperOrigin-RevId: 439247791 Change-Id: I631cc3c30f78e5496e1d104717bdc4908b727a0c
This should fix the build on Debian 10 with LLVM 11. - Keep order of files to look up in `ls` invocation - Use `--start-group`/`--end-group` linker options - Drive-by: use `splitlines()` instead of manual `split("\n")[:-1]` PiperOrigin-RevId: 439248079 Change-Id: I919bb292ac8a5f514431aa004345f1c6478b1cc9
PiperOrigin-RevId: 439506287 Change-Id: I5d41ed234860f02329c960144b1da725e24549dd
This makes `sapi_library()` more compatible with Bazel's native `cc_library()` rule. PiperOrigin-RevId: 439512659 Change-Id: If731f600d56db56f78d2897e0c41a200daa93b75
PiperOrigin-RevId: 439541914 Change-Id: Ib0a0941436da61b499d7359e0ea06d244a111970
PiperOrigin-RevId: 439542219 Change-Id: Ie6bdff05b5aa50c6fccb0786b073240e72c4b215
PiperOrigin-RevId: 439558257 Change-Id: I36ac05e51f800ada02e8890594b095db8ee654ee
- Set the correct cache path, previously cache was ineffective - Build in `${GITHUB_WORKSPACE}/build` sub-directory - Update `actions/cache` to `v3` - Reformat build steps - Use CMake's `-S` and `-B` options to specify source and build directories PiperOrigin-RevId: 439560955 Change-Id: I6b07fa4e3a6416725fa1d3d2b7174a4186648033
This adds basic workflows to build jsonnet and pffft, to be expanded later. PiperOrigin-RevId: 439564724 Change-Id: Ia408545f8badd70b7aeeddb7a789d0d267cd0652
PiperOrigin-RevId: 439752452 Change-Id: I93f359ee2a89ce911a4d77787d739b01705d8703
PiperOrigin-RevId: 439765726 Change-Id: I8371b7b1e5b7527e882e04e583e51e126ad735b9
The generated `compile_commands.json` contains everything that the interface generator needs. PiperOrigin-RevId: 439800377 Change-Id: I5b364edc20eaae9554ce10a96caa3559fb780210
The corresponding command-line option `sapi_isystem` will be ignored for compatibility. PiperOrigin-RevId: 439806387 Change-Id: I8ad6d7feed2fba5fca9940281f03cfc757ada5be
When building contrib libraries as a Sandboxed API super-project or when building Sandboxed API as a sub-project, CMake may not include all files when writing a `compile_commands.json`, leading to missing include paths for the libtooling interface generator. This change sets `CMAKE_EXPORT_COMPILE_COMMANDS` as a cache variable so that it persists across project boundaries. Writing compilation databases, even when they are otherwise unused, is harmless. PiperOrigin-RevId: 439820022 Change-Id: Ice96e78cf41fff5792aa0a8734f1ccf80f541e4c
PiperOrigin-RevId: 440877694 Change-Id: I0899393b05d064cd8318e11eef796f89b3c0ad0e
Lots of contrib packages did not build. Fixes google#153 Fixes google#152
DemiMarie
force-pushed
the
fix-build-new-generator
branch
from
April 12, 2022 02:07
cbca15b
to
13ee0a4
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Lots of contrib packages did not build.
Fixes #153
Fixes #152