Trent Nelson
e12ab9d0dd
Bump version to 1.4.0
2020-08-05 12:04:15 -06:00
Aaron Hill
05445c718e
Fix hygiene issues in `declare_program!` and `declare_loader!`
...
The `declare_program!` and `declare_loader!` macros both expand to
new macro definitions (based on the `$name` argument). These 'inner'
macros make use of the special `$crate` metavariable to access items in
the crate where the 'inner' macros is defined.
However, this only works due to a bug in rustc. When a macro is
expanded, all `$crate` tokens in its output are 'marked' as being
resolved in the defining crate of that macro. An inner macro (including
the body of its arms) is 'just' another set of tokens that appears in
the body of the outer macro, so any `$crate` identifiers used there are
resolved relative to the 'outer' macro.
For example, consider the following code:
```rust
macro_rules! outer {
() => {
macro_rules! inner {
() => {
$crate::Foo
}
}
}
}
```
The path `$crate::Foo` will be resolved relative to the crate that defines `outer`,
**not** the crate which defines `inner`.
However, rustc currently loses this extra resolution information
(referred to as 'hygiene' information) when a crate is serialized.
In the above example, this means that the macro `inner` (which gets
defined in whatever crate invokes `outer!`) will behave differently
depending on which crate it is invoked from:
When `inner` is invoked from the same crate in which it is defined,
the hygiene information will still be available,
which will cause `$crate::Foo` to be resolved in the crate which defines 'outer'.
When `inner` is invoked from a different crate, it will be loaded from
the metadata of the crate which defines 'inner'. Since the hygiene
information is currently lost, rust will 'forget' that `$crate::Foo` is
supposed to be resolved in the context of 'outer'. Instead, it will be
resolved relative to the crate which defines 'inner', which can cause
incorrect code to compile.
This bug will soon be fixed in rust (see https://github.com/rust-lang/rust/pull/72121 ),
which will break `declare_program!` and `declare_loader!`. Fortunately,
it's possible to obtain the desired behavior (`$crate` resolving in the
context of the 'inner' macro) by use of a procedural macro.
This commit adds a `respan!` proc-macro to the `sdk/macro` crate.
Using the newly-stabilized (on Nightly) `Span::resolved_at` method,
the `$crate` identifier can be made to be resolved in the context of the
proper crate.
Since `Span::resolved_at` is only stable on the latest nightly,
referencing it on an earlier version of Rust will cause a compilation error.
This requires the `rustversion` crate to be used, which allows conditionally
compiling code epending on the Rust compiler version in use. Since this method is already
stabilized in the latest nightly, there will never be a situation where
the hygiene bug is fixed (e.g. https://github.com/rust-lang/rust/pull/72121 )
is merged but we are unable to call `Span::resolved_at`.
2020-07-14 14:40:02 -07:00
dependabot-preview[bot]
841ecfd927
chore(deps): bump bincode from 1.2.1 to 1.3.1 ( #10867 )
...
* chore(deps): bump bincode from 1.2.1 to 1.3.1
Bumps [bincode](https://github.com/servo/bincode ) from 1.2.1 to 1.3.1.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
* Switch from deprecated method
* Add options to maintain behavior with bincode::options()
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-07-09 00:08:05 +00:00
R. M. Shea
48febf153b
Change documentation introduction to indicate Foundation IP transfer ( #10440 )
2020-06-13 14:41:05 -07:00
Jack May
b6a9573748
Route all loader messages to log collector ( #10528 )
2020-06-13 13:20:08 -07:00
Michael Vines
9eefb2c929
Bump version to 1.3.0
2020-05-28 15:01:13 -07:00
Jack May
7e364d01c2
Bump solana-rbpf to v0.1.28 ( #9976 )
2020-05-11 13:34:56 -07:00
Jack May
84885d79d5
Pull in hardened BPF virtual machine ( #9931 )
2020-05-08 12:37:04 -07:00
Jack May
de9d8cd849
Rename BPF helper to syscall ( #9819 )
...
automerge
2020-04-30 01:43:11 -07:00
Jack May
068f12fd6f
Add Cross-program invocations ( #9582 )
2020-04-28 14:33:56 -07:00
Jack May
d3e3f51330
Ignore log tests due to concurrency conflicts ( #9719 )
2020-04-25 22:38:59 -07:00
Jack May
17e7667da4
Serialize test ( #9655 )
2020-04-22 14:53:06 -07:00
Michael Vines
47ae57610a
Only build x86_64-unknown-linux-gnu on docs.rs
2020-04-16 19:06:17 -07:00
dependabot-preview[bot]
a0f0e199b7
Bump libc from 0.2.68 to 0.2.69
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.68 to 0.2.69.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.68...0.2.69 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 17:30:02 -07:00
Michael Vines
d7fa40087c
Bump version to 1.2.0
2020-03-28 09:44:13 -07:00
Jack May
4b7da6e60d
Bump rBPF version to v0.1.25: Fix Windows build ( #9136 )
...
automerge
2020-03-27 19:07:58 -07:00
Jack May
dae28b9cfe
Bump rBPF to v0.1.24, update rBPF/BPF Loader error handling ( #9089 )
2020-03-26 14:00:26 -07:00
dependabot-preview[bot]
8f5ee6832f
Bump libc from 0.2.67 to 0.2.68 ( #8915 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.67 to 0.2.68.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.67...0.2.68 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-18 13:27:08 -06:00
dependabot-preview[bot]
ff74452ef3
Bump libc from 0.2.66 to 0.2.67 ( #8680 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.66 to 0.2.67.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.66...0.2.67 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-08 21:38:58 -07:00
Jack May
a5f2444ad2
Remove copypasta ( #8700 )
...
automerge
2020-03-06 18:18:01 -08:00
Greg Fitzgerald
2242b1b4a5
Bump byteorder from 1.3.2 to 1.3.4 ( #8159 )
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.3.2 to 1.3.4.
- [Release notes](https://github.com/BurntSushi/byteorder/releases )
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.3.2...1.3.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-05 17:07:18 -07:00
Jack May
8df4d8b905
Update to rbpf v0.1.23 - Use trait objects to convey helper context ( #8648 )
2020-03-05 14:14:21 -08:00
Dan Albert
2d9d2f1e99
Update cargo versions from 1.0 to 1.1 ( #8397 )
2020-02-21 23:09:45 -08:00
Michael Vines
48f58a88bc
Bump version to 1.0.0
2020-02-20 23:52:19 -07:00
Jack May
4593d333c7
Remove BPF Loader's use of GenericError ( #8284 )
2020-02-14 13:59:03 -08:00
Jack May
2e9ba149f2
Update LVM and rBPF versions ( #8215 )
2020-02-11 12:52:13 -08:00
François Garillot
f016c9a669
Maintenance : simplify a few patterns, remove unneeded dependencies ( #8137 )
...
* Simplify a few pattern matches
* Removing unneeded dependencies, upgrading internal version #s
net-shaper: Removing log, semver, serde_derive
bench-tps: Removing serde, serde_derive
banking-bench: Removing solana
ledger-tool: Removing bincode, serde, serde_derive
librapay: Removing solana, language_e2e_tests
log-analyzer: Removing log, semver, serde_derive
exchange: Removing solana
core: Removing crc, memmap, symlink, untrusted
perf: Removing serde_derive
genesis: Removing hex, serde_derive
sdk-c: Removing sha2
sys-tuner: Removing semver
bench-exchange: Removing bincode, bs58, env_logger, serde, serde_derive, untrusted, ws
btc_spv_bin: Removing serde_json
btc_spv: Removing chrono
bpf_loader: Removing serde
ledger: Removing dlopen, dlopen_derive, serde_derive
move_loader: Removing byteorder, libc, language_e2e_tests
ownable: Removing serde, serde_derive
client: Removing rand
archiver-utils: Removing rand_chacha
validator: Removing serde_json, tempfile
param_passing_dep: Removing solana
failure: Removing log
vest: Removing log
vote-signer: Removing bs58, serde
local-cluster: Removing symlink
keygen: Removing rpassword
install: Removing bs58, log
upload-perf: Removing log
runtime: Removing serde_json
stake: Removing rand
* Add modified Cargo.lock
* fixup! Simplify a few pattern matches
* fixup! Simplify a few pattern matches
2020-02-06 10:02:38 -07:00
Jack May
d5ff5f4739
Update solana_rbpf v0.1.20 ( #8023 )
2020-01-29 21:14:49 -08:00
Dan Albert
c324e71768
Bump cargo toml versions to 0.24.0 ( #7976 )
2020-01-25 11:04:27 -06:00
Dan Albert
ca10cf081f
Update cargo.toml files from 0.22.0 to 0.23.0 ( #7596 )
2019-12-20 21:45:42 -05:00
dependabot-preview[bot]
7ad64c8d45
Bump serde from 1.0.103 to 1.0.104
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.103 to 1.0.104.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.103...v1.0.104 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 08:50:09 -07:00
dependabot-preview[bot]
6f457292ff
Bump bincode from 1.2.0 to 1.2.1
...
Bumps [bincode](https://github.com/servo/bincode ) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/compare/v1.2.0...v1.2.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-10 10:00:56 -07:00
dependabot-preview[bot]
0f872af502
Bump libc from 0.2.65 to 0.2.66 ( #7180 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.65 to 0.2.66.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.65...0.2.66 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 09:56:03 -07:00
dependabot-preview[bot]
7f4feaee08
Bump serde from 1.0.102 to 1.0.103 ( #7163 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.102 to 1.0.103.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.102...v1.0.103 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-27 09:10:25 -07:00
Michael Vines
294662a1ce
Bump version to 0.22.0
2019-11-25 21:34:50 -07:00
Jack May
3415db9739
Merge api/program into single units ( #7061 )
2019-11-20 16:32:19 -08:00
Jack May
0dcdc37fec
Split BPF loader to match the rest of the programs ( #4636 )
2019-06-12 08:49:59 -07:00
dependabot-preview[bot]
1d957b6b80
Bump byteorder from 1.3.1 to 1.3.2 ( #4641 )
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/BurntSushi/byteorder/releases )
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.3.1...1.3.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-06-11 11:21:26 -07:00
Jack May
66c41b3e8c
Enable iter test ( #4542 )
...
automerge
2019-06-07 16:44:14 -07:00
dependabot-preview[bot]
ce2ce76958
Bump serde from 1.0.91 to 1.0.92 ( #4504 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.91...v1.0.92 )
2019-06-04 14:32:09 -07:00
dependabot-preview[bot]
d77c98530f
Bump libc from 0.2.55 to 0.2.58 ( #4514 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.55 to 0.2.58.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.55...0.2.58 )
2019-06-04 14:31:06 -07:00
Michael Vines
7a021dff05
Beautify Cargo.tomls with |cargo tomlfmt| ( #4477 )
2019-05-29 18:30:49 -07:00
Michael Vines
ed6a438c51
v0.16.0
2019-05-26 19:42:15 -07:00
Jack May
bfa1c025fd
Add rust bpf allocator ( #4426 )
2019-05-24 16:21:42 -07:00
dependabot[bot]
6b5bcfaa58
Bump libc from 0.2.54 to 0.2.55 ( #4324 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.54 to 0.2.55.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.54...0.2.55 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-17 13:24:12 -07:00
dependabot[bot]
d40b66ff7b
Bump solana_rbpf from 0.1.10 to 0.1.11 ( #4304 )
...
Bumps [solana_rbpf](https://github.com/solana-labs/rbpf ) from 0.1.10 to 0.1.11.
- [Release notes](https://github.com/solana-labs/rbpf/releases )
- [Commits](https://github.com/solana-labs/rbpf/commits/v0.1.11 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-16 01:07:10 -07:00
dependabot[bot]
1d327a5167
Bump bincode from 1.1.3 to 1.1.4 ( #4290 )
...
Bumps [bincode](https://github.com/TyOverby/bincode ) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/TyOverby/bincode/releases )
- [Commits](https://github.com/TyOverby/bincode/compare/v1.1.3...v1.1.4 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-15 09:47:55 -06:00
dependabot[bot]
673a9417ef
Bump serde from 1.0.90 to 1.0.91 ( #4171 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.90 to 1.0.91.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.90...v1.0.91 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-06 21:41:30 -07:00
dependabot[bot]
92ed7b36a2
Bump libc from 0.2.53 to 0.2.54 ( #4124 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.53 to 0.2.54.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.53...0.2.54 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-02 13:11:29 -06:00
dependabot[bot]
4b599a95b3
Bump libc from 0.2.51 to 0.2.53 ( #4009 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.51 to 0.2.53.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.51...0.2.53 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-27 14:04:23 -06:00