Justin Starry
2335f6908a
Loosen CPI restrictions and charge compute for ix data len ( #26653 )
...
* Loosen CPI restrictions and charge compute for ix data len
* Address feedback
* use explicit casting
* more feedback
2022-07-24 20:20:16 +02:00
Dmitri Makarov
8bc8f77820
Sync return_data.inc and add a warning about modifying generated header files
2022-07-19 20:03:05 -07:00
Richard Patel
4163dc181e
sdk/bpf/c: fix sol_get_return_data signature ( #26525 )
2022-07-19 09:30:29 +02:00
bji
61fd9288ba
Fix sol_memset to return the correct value. ( #26598 )
2022-07-14 17:27:02 +01:00
Dmitri Makarov
8797ad03c4
Bump sbf-tools version to v1.28
2022-07-13 21:47:48 +00:00
steviez
853b0ea966
fixup! Add syscall tests for curve25519 ( #25634 ) ( #25921 )
2022-06-11 23:32:28 -05:00
samkim-crypto
697a69cbe8
Add syscall tests for curve25519 ( #25634 )
...
* add curve25519 syscall tests
* add curve25519 syscall feature set description
* fmt
* rename curve25519 group syscall
* update point to scalar
* resolve conflict
2022-06-12 10:18:51 +09:00
Dmitri Makarov
ffeac6488e
Ignore sbf-tools in sdk/bpf/dependencies and remove the ignored file
2022-06-08 18:11:04 -07:00
Jack May
363d8d1539
Bump rBPF ( #25593 )
2022-06-07 04:45:07 -07:00
Jack May
851958f77a
Disallow deployment of deprecated _sol_alloc_free syscall ( #25179 )
2022-05-20 13:19:41 -07:00
Dmitri Makarov
dcce90555b
Bump sbf-tools to v1.27
2022-05-19 21:56:56 +00:00
Dmitri Makarov
3c70220142
Remove obsolete string C header input file
...
string.h doesn't contain any syscall declarations that need to be
processed by the gen-headers C header file generating utility.
2022-05-13 10:37:25 -07:00
Jack May
8902a66b20
Revert "Disallow deployment of deprecated _sol_alloc_free syscall ( #24986 )" ( #25170 )
...
This reverts commit 8f1d4c1665
.
2022-05-12 17:58:17 -05:00
Dmitri Makarov
9d18fe019b
Bump sbf-tools version to 1.26
2022-05-12 03:53:55 +00:00
Jack May
8f1d4c1665
Disallow deployment of deprecated _sol_alloc_free syscall ( #24986 )
...
* Disallow deployment of deprecated _sol_alloc_free syscall
* remove cli argument
2022-05-11 05:22:49 +00:00
Dmitri Makarov
66366615bb
Generate syscall headers
2022-05-05 19:50:54 -07:00
Dmitri Makarov
6bf58572ca
Update llvm include path in C toolchain makefile
2022-04-19 21:38:36 -07:00
Dmitri Makarov
f58ebff44e
Update C toolchain linker script to match the rust toolchain script
2022-04-18 17:35:38 -07:00
Dmitri Makarov
6b611e1c52
Bump bpf-tools to v1.25
...
- Tweak linker script
Ensure that all read only sections end up in one segment, and
everything else in other segments. Discard .eh_frame, .hash and
.gnu.hash since they are unused.
- Don't create invalid string slices in stdout/stderr on Solana
- Report exceeded stack size as a warning if dynamic frames are off
- Native support for signed division in SBF
Adds BPF_SDIV, which is enabled only for the SBF subtarget.
- Introduce dynamic stack frames and the SBFv2 flag
Dynamic stack frames are currently opt-in and enabled setting
cpu=sbfv2. When sbfv2 is used, ELF files are flagged with
e_flags=EF_SBF_V2 so the runtime can detect it and react
accordingly.
2022-04-12 10:51:15 -07:00
Dmitri Makarov
689064a4f4
Bump sbf-tools version to v1.24
2022-04-08 09:06:40 -07:00
HaoranYi
0b7d0476c8
fix a typo ( #24070 )
2022-04-01 15:16:51 -07:00
Dmitri Makarov
a9d9a5095b
Bump bpf-tools to v1.23
2022-02-03 15:50:18 -08:00
Alessandro Decina
959ea26816
Re-enable LTO ( #22287 )
...
LTO seems to work fine now. It was possibly fixed by either the LLVM13 upgrade
or by b2ed47a925
,
which fixed a LTO issue with tests.
2022-01-06 09:16:50 +11:00
Jon Cinque
57986f982a
cargo-build-bpf: Add Windows support ( #20276 )
...
* cargo-build-bpf: Add Windows support
* Update error message
2021-12-28 18:37:35 -05:00
Dmitri Makarov
7cc6262b5a
Bump bpf-tools to v1.21
2021-12-21 16:40:42 -08:00
Jon Cinque
923720f529
SDK: Add stdlib.h include to pull in `abort()` ( #21700 )
2021-12-08 17:00:16 +01:00
Dmitri Makarov
bae5dae61d
Bump bpf-tools to v1.20
...
- Fix C standard library to include only reentrant versions of functions
- Use a version of solana_rbpf with fixed relocations handling
- Add a test of using C standard library functions in on-chain program
2021-11-18 20:50:58 -08:00
Dmitri Makarov
3f4f05865d
Bump bpf-tools to v1.19 ( #21256 )
...
Toolchain upgrade to rust 1.56.0 and clang 13.0.
2021-11-13 19:36:28 +00:00
Dmitri Makarov
4287bf6b8b
Bump bpf-tools to v1.18 ( #20991 )
...
- added newlib standard C library to clang toolchain
- fixed BPF backend bug that accidentally deleted code, issue #20538
2021-10-26 22:51:44 +00:00
Sean Young
d714cf659c
Proposal: log binary data for Solidity
...
The program_id is not needed on "Program return data: " because it
always preceeded by the program invoke message, so no need to repeat
the program id. Also rename this to "Program return: " since "data"
is redundant.
2021-09-22 07:59:06 +01:00
Sean Young
098585234d
Add return data implementation
...
This consists of:
- syscalls
- passing return data from invoked to invoker
- printing to stable log
- rust and C SDK changes
2021-09-10 14:25:54 +01:00
Jack May
04c0c608a3
Split solana_sdk.h ( #19172 )
2021-08-13 09:49:24 -07:00
Dmitri Makarov
d6a2b70438
Bump bpf-tools to v1.15 ( #19117 )
...
- update to rust 1.54.0
2021-08-10 07:21:14 +00:00
Dmitri Makarov
cde1461555
Bump bpf-tools to v1.14 ( #19023 )
...
- improved memory operations performance
- minor fixes
2021-08-03 09:13:58 +00:00
s-medvedev
1f288ce527
Add ecrecover syscall ( #17720 )
...
Co-authored-by: Anton Lisanin <lisanin.anton@gmail.com>
2021-07-07 13:15:14 -07:00
Dmitri Makarov
e752299ac5
Bump bpf-tools version
...
Update Rust BPF to version 1.53
2021-07-07 05:08:40 -07:00
Dmitri Makarov
e98a7504f2
Bump bpf-tools version to 1.12
2021-06-25 18:00:44 -07:00
Trent Nelson
7ee39fcb0f
sdk: ensure `ld` can find criterion when running BPF tests
2021-06-24 22:14:54 -06:00
Dmitri Makarov
d6bad60c1b
Bump bpf-tools version to 1.11 ( #18079 )
...
Avoid including local paths in compiler generated ELF files
2021-06-19 01:00:59 +00:00
Dmitri Makarov
32742df1b4
Add build script to extract a list of registered syscalls
...
The list is used in cargo-build-bpf to check generated .so modules for
undefined symbols that are not known run-time syscalls.
2021-06-14 04:51:30 -07:00
Dmitri Makarov
361c1bdd57
Fix file permissions ( #17910 )
2021-06-12 02:03:32 +00:00
Dmitri Makarov
3026954d71
Update RUSTFLAGS if it is set, instead of overriding in build-bpf
2021-06-11 13:19:43 -07:00
Dmitri Makarov
2fe211c5e0
Remove O2 option for compiling BPF programs ( #17865 )
...
rustc default compiler optimization level is O3. This change removes
the option that overrides the default optimization level, because it
is safe to do so. The code generation is incorrect in some cases
because of link-time optimizations, which remain disabled for
compiling BPF programs. In addition, this commit updates the expected
instruction counts for assert_instruction_count test.
2021-06-10 05:04:17 +00:00
Arthur Greef
28fdfed1ba
Blake3 syscall ( #17358 )
2021-06-08 11:04:10 -07:00
Dmitri Makarov
6f193bf357
Add separate rules to generate dependencies files for C BPF build
2021-06-08 05:34:40 -07:00
Dmitri Makarov
ae0bea1ad3
Bump BPF tools to v1.10
2021-06-04 19:10:23 -07:00
Dmitri Makarov
47861fc373
Bump BPF tools to v1.9
2021-06-03 17:06:49 -07:00
Dmitri Makarov
831e87c65d
Add BPF rustc option to reduce the optimizations to safer level ( #17590 )
2021-05-28 23:14:53 +00:00
Dmitri Makarov
2316ddb90a
Revert bpf-tools to version 1.8 because of a codegen bug suspicion ( #17568 )
2021-05-28 09:36:46 +00:00
Dmitri Makarov
3ae4806dae
Fix missing builtins in C programs linking with compiler_builtins ( #17475 )
2021-05-25 17:11:02 +00:00