Commit Graph

341 Commits

Author SHA1 Message Date
Christian Blichmann
13c28403a6 Implement system include detection for CMake build
The Bazel build already queries the current toolchain for its system include
directories. This change brings feature parity and is necessary for systems
with unusual include locations.

PiperOrigin-RevId: 332195812
Change-Id: Ie81d614d21e90b4bd9edf2084ef80bf0d85dd750
2020-09-17 03:08:11 -07:00
Maciej Szawłowski
a68b851c2c Added TypeKind.CHAR_U handling in the generator.
PiperOrigin-RevId: 331988119
Change-Id: I8301c5041c32da185202ed34292e6a2988ecff46
2020-09-16 06:00:55 -07:00
Copybara-Service
da41899797 Merge pull request #51 from doinachiroiu:master
PiperOrigin-RevId: 331767052
Change-Id: I286e746fec6248c88df563be00da9451ddd63eb7
2020-09-15 07:46:03 -07:00
Christian Blichmann
ed0086eb66 Fix dynamic binary startup on PPC and newer glibc (> 2.19)
This allows the `_llseek` syscall when it is defined.

PiperOrigin-RevId: 331498182
Change-Id: I2760b264e3a82000b38d278a9c280501a3dbc724
2020-09-14 01:18:33 -07:00
Christian Blichmann
21f7373e76 Initial changes to support AArch64
This is a work in progress:
- Syscall tables need work
- Only tested on real hardware using one of our test hosts

As a drive-by, this change also enables the open source version to function on
POWER.

Another side-effect of this change is that the default policies no longer
check for different host architectures at runtime. On x86_64, we do not need
to check for PPC or AArch64 specifice and vice versa.

PiperOrigin-RevId: 331137472
Change-Id: Ic6d6be5cbe61d83dbe13d5a0be036871754b2eb8
2020-09-11 06:34:27 -07:00
Christian Blichmann
c19949eb7b Use inclusive language
PiperOrigin-RevId: 331116936
Change-Id: I7084b24440a1c78c0d70030da900330f0b8d954f
2020-09-11 03:14:12 -07:00
Christian Blichmann
6a1e4b881c Introduce config header to centralize CPU architecture checks
This allows us to remove some uses of macros.

Related changes:
- Make it clear that we support hosting sandboxed binaries from 64-bit
  processes only. CPU architectures are x86-64 and POWER64 (little endian).
- Introduced CPU architecture macros, abstracting away compiler specifics

PiperOrigin-RevId: 330918134
Change-Id: Ife7ad5f14723eec9f68055127b0583b8aecd38dd
2020-09-10 05:48:00 -07:00
Kevin Hamacher
1f8e88586b Log details when executor fails to open the sandboxee binary
PiperOrigin-RevId: 330680717
Change-Id: I4ec855861196177321783dc94f2e05a28e84d512
2020-09-09 02:12:29 -07:00
Sandboxed API Team
776e34502a Internal cleanup migrating StatusOr.
PiperOrigin-RevId: 330561315
Change-Id: Ie8d8857e7fa5819be3358b26425790ede97c99f8
2020-09-08 12:24:35 -07:00
doinachiroiu
1869fe515f Required changes resolved 2020-09-03 14:59:54 +00:00
Christian Blichmann
fdf0483ca0 Migrate to open-source absl::StatusOr<>
This removes our own fork of `absl::StatusOr<>`. Sandboxed API still includes
a custom matcher for Googletest, as that is not open source yet. For
compatibility, the `statusor.h` header is still retained and now aliases
`sapi::StatusOr<>` to `absl::StatusOr<>`.

PiperOrigin-RevId: 329916309
Change-Id: I0544b73a9e312dce499bc4128c28457e04ab9929
2020-09-03 07:40:48 -07:00
Sandboxed API Team
23da55c19a Internal BUILD refactoring
PiperOrigin-RevId: 329720214
Change-Id: I25fbb94dea17db3bdca6438d17508fa304d9706f
2020-09-03 07:40:33 -07:00
Sandboxed API Team
1c833d6f25 Internal cleanup migrating StatusOr.
PiperOrigin-RevId: 329304527
Change-Id: Id6c141272df54c4e165829d690f9f5b2e9ee90cc
2020-08-31 08:13:29 -07:00
doinachiroiu
7e22952c42 Setup error handling modified 2020-08-31 11:48:19 +00:00
doinachiroiu
531850afc2 Required changes resolved 2020-08-31 11:17:15 +00:00
Sandboxed API Team
cfac8eb2d9 Internal cleanup migrating StatusOr.
PiperOrigin-RevId: 329250595
Change-Id: I0447d8154a57b1132981b116f02b4d5bceedfd4c
2020-08-31 00:13:54 -07:00
Wiktor Garbacz
c53f2a900f Automated rollback of commit e7a195ce42.
PiperOrigin-RevId: 328918626
Change-Id: Iabe93ec7062ea6e750e4185e2b0b672a37111ee7
2020-08-28 04:49:41 -07:00
doinachiroiu
905f86a0ab Small README update regarding variables names 2020-08-27 16:59:58 +00:00
doinachiroiu
b2351ec639 Small coding style corrections 2020-08-27 16:55:55 +00:00
doinachiroiu
60b3b5057c Small README correction 2020-08-27 16:49:09 +00:00
doinachiroiu
4336c005d3 Added output format flag and made other required changes 2020-08-27 16:46:59 +00:00
doinachiroiu
bb623d4c0b Required changes resolved 2020-08-27 12:54:57 +00:00
doinachiroiu
5ae99706e2 Added PFFFT_ROOT_DIR 2020-08-26 15:03:25 +00:00
doinachiroiu
c8d07aeaa5 Changing paths for propertly usage of the submodule 2020-08-26 14:56:19 +00:00
doinachiroiu
b08726540a Added PFFFT submodule - master directory 2020-08-26 14:25:11 +00:00
doinachiroiu
139723d3b8 Added LICENSE & coding changes required 2020-08-26 14:18:31 +00:00
doinachiroiu
8f21b0e931 Coding style update 2020-08-26 11:23:33 +00:00
Sandboxed API Team
e7a195ce42 Automated rollback of commit 82c56775ef.
PiperOrigin-RevId: 328340042
Change-Id: Ib225f8012fb373c74e3f1b3e6201b2daca7da40b
2020-08-25 09:01:22 -07:00
Wiktor Garbacz
82c56775ef StatusOr cleanups
PiperOrigin-RevId: 328318284
Change-Id: I207570c0fee6797dbc8995d36ef2130b0bff28fa
2020-08-25 06:22:05 -07:00
doinachiroiu
a2873ac099 Update README.md 2020-08-20 13:15:02 +00:00
doinachiroiu
726a9345ff Enable namespaces 2020-08-20 12:37:34 +00:00
doinachiroiu
fc6e9e82c6 Unnecessary files removed 2020-08-20 11:24:19 +00:00
doinachiroiu
25d18f985d Updated README and change names of main files 2020-08-20 11:19:49 +00:00
doinachiroiu
257e87e076 Added log printing for debug 2020-08-20 08:58:30 +00:00
doinachiroiu
94fcf82dd3 Added comment on Nvalues[] and N purpose 2020-08-20 08:21:32 +00:00
doinachiroiu
096d02625d Modified sapi root to a general path 2020-08-20 07:44:27 +00:00
doinachiroiu
06bf6cdd34 Sandbox not active error - resolved 2020-08-17 11:21:56 +00:00
doinachiroiu
3fb4d59545 Sandbox not active error tracking observations 2020-08-17 11:21:49 +00:00
doinachiroiu
d51d558083 Update .gitignore 2020-08-17 11:21:42 +00:00
doinachiroiu
c39787ddc7 Testing pffft - elaborate output 2020-08-17 11:21:33 +00:00
doinachiroiu
2ab097f82f Added README 2020-08-17 11:21:27 +00:00
doinachiroiu
50921e222d Coding style adaptation 2020-08-17 11:21:19 +00:00
doinachiroiu
deb8869bb6 Added .gitignore 2020-08-17 11:21:11 +00:00
doinachiroiu
80dd873375 Initial version sandbox 2020-08-17 11:20:56 +00:00
Doina Chiroiu
4cc2d40642 Simple version of sandbox 2020-08-13 10:22:33 +00:00
Christian Blichmann
b76cb15f26 Rename accessors, move away from time_t API
- `GetPid()` -> `pid()`
- `GetRpcChannel()` -> `rpc_channel()`
- `IsActive()` -> `is_active()`
- Suggest `SetWallTimeLimit(time_t)` -> `SetWallTimeLimit(absl::Duration)`

In addition, remove the protected zero-argument contructor.

PiperOrigin-RevId: 325390292
Change-Id: Iba044ad5ce44e78c4064c0a09faaa4227c4d19a5
2020-08-07 00:30:28 -07:00
Christian Blichmann
11fd8ba330 Collect Bazel files into bzl_library targets
PiperOrigin-RevId: 325221214
Change-Id: Iab03b900e143b9b95bed151097abb59ac1e0f996
2020-08-06 06:53:44 -07:00
Sandboxed API Team
8633f22185 Increase limit on symbol table size and section size.
PiperOrigin-RevId: 325215228
Change-Id: I2e6ca131d92d86e7aa0d5cc37a3507dce03db25f
2020-08-06 06:04:14 -07:00
Christian Blichmann
db0dfbb21f Add directories/README for contributions
PiperOrigin-RevId: 323566271
Change-Id: I4ccddea09f5d2ecc2a2e17841693350eec9f7d3a
2020-07-29 11:32:41 +02:00
Christian Blichmann
833c9740aa Use absl::StrFormat() in Reg<T>::ToString()
PiperOrigin-RevId: 322528126
Change-Id: Ia5344e53366a8b3c11ec0dbba7cff8e4192a7605
2020-07-22 01:21:02 -07:00