-
Notifications
You must be signed in to change notification settings - Fork 38
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
Rebase to upstream #67
Rebase to upstream #67
Commits on Sep 9, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7e1c8f0 - Browse repository at this point
Copy the full SHA 7e1c8f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 43bedfc - Browse repository at this point
Copy the full SHA 43bedfcView commit details -
Configuration menu - View commit details
-
Copy full SHA for d5a0654 - Browse repository at this point
Copy the full SHA d5a0654View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0665840 - Browse repository at this point
Copy the full SHA 0665840View commit details -
Configuration menu - View commit details
-
Copy full SHA for 978bc08 - Browse repository at this point
Copy the full SHA 978bc08View commit details -
Configuration menu - View commit details
-
Copy full SHA for c27613c - Browse repository at this point
Copy the full SHA c27613cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 43add87 - Browse repository at this point
Copy the full SHA 43add87View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b11722 - Browse repository at this point
Copy the full SHA 4b11722View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b225f8 - Browse repository at this point
Copy the full SHA 7b225f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a33f435 - Browse repository at this point
Copy the full SHA a33f435View commit details -
Configuration menu - View commit details
-
Copy full SHA for c105756 - Browse repository at this point
Copy the full SHA c105756View commit details -
Configuration menu - View commit details
-
Copy full SHA for 87bcd3e - Browse repository at this point
Copy the full SHA 87bcd3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dc6a92 - Browse repository at this point
Copy the full SHA 8dc6a92View commit details -
Configuration menu - View commit details
-
Copy full SHA for b34a74d - Browse repository at this point
Copy the full SHA b34a74dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1eae039 - Browse repository at this point
Copy the full SHA 1eae039View commit details -
[SOL] Allow selectively disable compiler builtins for BPF target (anz…
…a-xyz#4) * [BPF] Make rust allocation builtins unavailable for BPF target - the calls to rust alloc/dealloc routines need to be preserved and not replaced by compiler generated builtin inlined code
Configuration menu - View commit details
-
Copy full SHA for 4374309 - Browse repository at this point
Copy the full SHA 4374309View commit details -
Configuration menu - View commit details
-
Copy full SHA for d32a665 - Browse repository at this point
Copy the full SHA d32a665View commit details -
Configuration menu - View commit details
-
Copy full SHA for 94ca806 - Browse repository at this point
Copy the full SHA 94ca806View commit details -
Configuration menu - View commit details
-
Copy full SHA for e32c286 - Browse repository at this point
Copy the full SHA e32c286View commit details -
* [SOL][BPF] Adjust BPF tests * [SOL][BPF] Improve reporting of stack size is too large - issue only one warning for each function - report the function location if debug information is available
Configuration menu - View commit details
-
Copy full SHA for a3c410d - Browse repository at this point
Copy the full SHA a3c410dView commit details -
Co-authored-by: Jack May <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 74382d7 - Browse repository at this point
Copy the full SHA 74382d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 07420fe - Browse repository at this point
Copy the full SHA 07420feView commit details -
Configuration menu - View commit details
-
Copy full SHA for d917252 - Browse repository at this point
Copy the full SHA d917252View commit details -
[SOL] Fixes required for Solang
* [SOL] Make lld thread-safe with llvm when used in-process Every time Solang tries to link a web-assembly file in-process, the linker re-inits llvm which is not thread-safe with the rest of solang. Signed-off-by: Sean Young <[email protected]> * [SOL][BPF] Enable the _ExtInt extension on the BPF Target for Solana Signed-off-by: Sean Young <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 70a906a - Browse repository at this point
Copy the full SHA 70a906aView commit details
Commits on Sep 10, 2023
-
[SOL] Disable debug info when solana feature flag is set
Solana extends BPF so that structs type information is not fully supported in BTF. This leads to ICE crashes and some unsupported relocations being emitted in binary files that linker errors on. For, now the debug information is simply disabled when compiling for Solana to avoid the errors in Debug builds.
Configuration menu - View commit details
-
Copy full SHA for 8768feb - Browse repository at this point
Copy the full SHA 8768febView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bd597b - Browse repository at this point
Copy the full SHA 0bd597bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ec21e27 - Browse repository at this point
Copy the full SHA ec21e27View commit details -
Configuration menu - View commit details
-
Copy full SHA for 429bcd7 - Browse repository at this point
Copy the full SHA 429bcd7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 577aae4 - Browse repository at this point
Copy the full SHA 577aae4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c6e825 - Browse repository at this point
Copy the full SHA 7c6e825View commit details -
Configuration menu - View commit details
-
Copy full SHA for b98c495 - Browse repository at this point
Copy the full SHA b98c495View commit details -
[SOL] Revert to R_BPF_64_64 for global data object relocations
RBPF doesn't support R_BPF_64_ABS64 and R_BPF_64_64 correctly represents relocation information for global data objects, so we can use them without breaking the correctness of generated object files.
Configuration menu - View commit details
-
Copy full SHA for 1c28906 - Browse repository at this point
Copy the full SHA 1c28906View commit details -
Configuration menu - View commit details
-
Copy full SHA for 923d024 - Browse repository at this point
Copy the full SHA 923d024View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3706e8 - Browse repository at this point
Copy the full SHA c3706e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62572e7 - Browse repository at this point
Copy the full SHA 62572e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 345d811 - Browse repository at this point
Copy the full SHA 345d811View commit details -
Configuration menu - View commit details
-
Copy full SHA for d046a1b - Browse repository at this point
Copy the full SHA d046a1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c000109 - Browse repository at this point
Copy the full SHA c000109View commit details -
[SOL] add support for (pseudo) atomics to SBF (anza-xyz#23)
Lower atomic operations to their regular non-atomic equivalents. Lowering for all operations except atomic fence is done at DAG legalization time. Fences are removed at instruction emission time.
Configuration menu - View commit details
-
Copy full SHA for bcfa05d - Browse repository at this point
Copy the full SHA bcfa05dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d63d0a - Browse repository at this point
Copy the full SHA 9d63d0aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e3f377 - Browse repository at this point
Copy the full SHA 1e3f377View commit details -
[SOL] Glue the insn setting $r5 to other in-reg passed args insns
The actual parameters to a function call are passed in registers for the first 4 arguments, and on stack for the remaining arguments. The register $r5 is set to the value of the frame pointer where the actual parameters are stored. The instruction that copies the frame pointer into the register $r5 must be glued to the chain of instructions that sets the previous four call arguments. Otherwise, the scheduler is free to move the instruction across boundaries of basic blocks and it's potentially possible that the copy instruction is considered dead code, even though there's an implicit liveness associated with the call instruction.
Configuration menu - View commit details
-
Copy full SHA for d07bfeb - Browse repository at this point
Copy the full SHA d07bfebView commit details -
[SOL] Introduce dynamic stack frames and the SBFv2 flag
Introduce dynamic stack frames, which 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. Co-authored-by: Dmitri Makarov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8b1e36d - Browse repository at this point
Copy the full SHA 8b1e36dView commit details -
[SOL] native support for signed division in SBF
Adds BPF_SDIV, which is enabled only for the SBF subtarget.
Configuration menu - View commit details
-
Copy full SHA for c0b3bfd - Browse repository at this point
Copy the full SHA c0b3bfdView commit details -
[SOL] report exceeded stack size as a warning if dynamic frames are off
7b107c accidentally reverted it back to an hard error.
Configuration menu - View commit details
-
Copy full SHA for b8b2d2b - Browse repository at this point
Copy the full SHA b8b2d2bView commit details -
[SOL] re-enable debug info and add R_BPF_64_{ABS64, ABS32, NODYLD32} …
…relocations to lld Co-Authored-By: Richard Patel <[email protected]> [SOL] emit R_BPF_64_{ABS64, ABS32} for .debug_* sections
Configuration menu - View commit details
-
Copy full SHA for b17a55f - Browse repository at this point
Copy the full SHA b17a55fView commit details -
[SOL] lld: emit correct e_flags
Emit e_flags based on the input object files. Ensure that all input files have the same e_flags as different values signal different ABIs.
Configuration menu - View commit details
-
Copy full SHA for 2e5f948 - Browse repository at this point
Copy the full SHA 2e5f948View commit details -
Configuration menu - View commit details
-
Copy full SHA for f785385 - Browse repository at this point
Copy the full SHA f785385View commit details -
[SOL] fix 64 bit data relocations
Relocate FK_Data_8 fixups as R_BPF_64_ABS64. R_BPF_64_64 is used for ldimm64 which only makes sense in .text. Currently 64 bit values in non-text sections get chopped to 32 bits and shifted 32 bits to the left (that is, the first 8 bytes of a ldimm64 relocation). This commit fixes it so that 64 bit values get written fully at the intended offset. For backwards compatibility, the new behaviour is used only if the reloc-abs64 feature is on (required by -mcpu=sbfv2), since rbpf before solana-labs/rbpf#301 assumes the legacy buggy layout.
Configuration menu - View commit details
-
Copy full SHA for 07c9b80 - Browse repository at this point
Copy the full SHA 07c9b80View commit details -
[SOL] revert ABS64 bits of 672d5f8
ABS64 relocs were properly implemented in fb7188b
Configuration menu - View commit details
-
Copy full SHA for 4dae839 - Browse repository at this point
Copy the full SHA 4dae839View commit details -
[SOL] sbf: add static-syscalls feature
This is a marker feature enabled by default by sbfv2. Enables higher layers to change syscall impl depending on whether the feature is set or not.
Configuration menu - View commit details
-
Copy full SHA for 5e814fd - Browse repository at this point
Copy the full SHA 5e814fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 882fe09 - Browse repository at this point
Copy the full SHA 882fe09View commit details -
Configuration menu - View commit details
-
Copy full SHA for f163fe5 - Browse repository at this point
Copy the full SHA f163fe5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6333ec8 - Browse repository at this point
Copy the full SHA 6333ec8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a082e76 - Browse repository at this point
Copy the full SHA a082e76View commit details -
Configuration menu - View commit details
-
Copy full SHA for da47437 - Browse repository at this point
Copy the full SHA da47437View commit details -
Configuration menu - View commit details
-
Copy full SHA for da05786 - Browse repository at this point
Copy the full SHA da05786View commit details -
Configuration menu - View commit details
-
Copy full SHA for d5df788 - Browse repository at this point
Copy the full SHA d5df788View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4006d04 - Browse repository at this point
Copy the full SHA 4006d04View commit details -
[SOL] lldb: Add solana-lldb wrapper
This adds a wrapper around the LLDB executable that resides in the same directory. Once we start to distribute LLDB in sbf-tools, the wrapper + scripts can be put into the same directory as the LLDB executable. Invoking ./solana-lldb will pre-load helper functions to print rust as well as solana types (e.g. pubkeys in base58 or auto deref of accounts) and then start the LLDB executable.
Configuration menu - View commit details
-
Copy full SHA for bd5061a - Browse repository at this point
Copy the full SHA bd5061aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 701f62b - Browse repository at this point
Copy the full SHA 701f62bView commit details -
[SOL] Initial squash commit for new SBF LLVM back-end and related.
- New SBF back-end subdirectory and corresponding test directories. - Corresponding changes in ADT, Support, MC, Object, BinaryFormat for new SBF architecture and EM_SBF ELF object. - Corresponding changes in clang to instantiate SBF for Triple::sbf rather than the old BPF back-end, etc. - Corresponding changes in lld to add SBF arch recognition, etc. - Corresponding changes in llvm-readelf to and opt.
Configuration menu - View commit details
-
Copy full SHA for 44f6551 - Browse repository at this point
Copy the full SHA 44f6551View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c530d7 - Browse repository at this point
Copy the full SHA 4c530d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d3405f - Browse repository at this point
Copy the full SHA 2d3405fView commit details -
[SOL] Reworked the SBF textual assembly syntax to match the rbpf-styl…
…e syntax. (anza-xyz#54) - Update the syntax of every instruction in SBFInstrInfo.td (currently using the asm variants feature to temporarily support both). - Update AsmParser for the new syntax (add new operand, memory, instruction, and directive parse routines). - Add error checking for unresolved 16-bit branch relocations and emit error message for graceful exit (the old BPF back-end crashes) and corresponding lit unit test. - Add new lit unit tests in MC/SBF and MC/Disassembler/SBF to cover disassembly, object emission, and parsing of every single instruction. This is more extensive coverage than existed previously. - Remaster all CodeGen/SBF unit tests accordingly. - A minor TableGen patch was needed to support asm strings containing '|' within variant strings ('|' happens to be the variant separator). The patch is a bit more complex than it otherwise might be in that we currently support both syntaxes to ease the verification (e.g., being able to see and compare each instruction and object code side-by-side within each unit test). After some 'soak time' for the new functionality, I intend to remove the old syntax altogether and otherwise clean-up. We'll also remove the TableGen patch at that time.
Configuration menu - View commit details
-
Copy full SHA for 02cd962 - Browse repository at this point
Copy the full SHA 02cd962View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca6fbd0 - Browse repository at this point
Copy the full SHA ca6fbd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 29af71c - Browse repository at this point
Copy the full SHA 29af71cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 97736d4 - Browse repository at this point
Copy the full SHA 97736d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4b2355 - Browse repository at this point
Copy the full SHA a4b2355View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9047690 - Browse repository at this point
Copy the full SHA 9047690View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe12f60 - Browse repository at this point
Copy the full SHA fe12f60View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7149309 - Browse repository at this point
Copy the full SHA 7149309View commit details -
Signed-off-by: Lucas Steuernagel <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b0ec678 - Browse repository at this point
Copy the full SHA b0ec678View commit details -
[SOL] Revive BTF/CO-RE crud from bitrot.
BTF/CO-RE has been disabled for Solana since: anza-xyz#37 This patch updates related code (and all applicable unit tests) from roughly a year of bitrot. This is in preparation for its possible use in the Move project. Additionally, a few other 14.0.2022-03-02 -> 15.0-2022-08-09 BPF patches were reflected in the SBF back-end (e.g., bugfixes).
Configuration menu - View commit details
-
Copy full SHA for 27a9e53 - Browse repository at this point
Copy the full SHA 27a9e53View commit details -
Configuration menu - View commit details
-
Copy full SHA for 60e97aa - Browse repository at this point
Copy the full SHA 60e97aaView commit details -
[SOL] Generate EM_SBF binary only for sbfv2 cpu subtarget
EM_SBF files are only accepted by new ELF parser of the RBPF.
Configuration menu - View commit details
-
Copy full SHA for d8d2092 - Browse repository at this point
Copy the full SHA d8d2092View commit details -
Configuration menu - View commit details
-
Copy full SHA for f0597b8 - Browse repository at this point
Copy the full SHA f0597b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ce2d12d - Browse repository at this point
Copy the full SHA ce2d12dView commit details -
[SOL] Handle BPF_64_64 relocations in .debug sections as ABS64
Because of a bug in BPF backend ABS64 relocations are incorrectly generated as 64_64 relocations in BPF object files. This temporary works around this for relocations in .debug section to generate debug information addresses correctly.
Configuration menu - View commit details
-
Copy full SHA for f07d0da - Browse repository at this point
Copy the full SHA f07d0daView commit details
Commits on Sep 28, 2023
-
Configuration menu - View commit details
-
Copy full SHA for a53bae0 - Browse repository at this point
Copy the full SHA a53bae0View commit details
Commits on Oct 18, 2023
-
[SOL] Revert 'Emit table lookup from TargetLowering::expandCTTZ()'
This change rust-lang@ab4fc87 breaks compilation of compiler-rt library for BPF and SBF targets. For now disabling it.
Configuration menu - View commit details
-
Copy full SHA for 038d472 - Browse repository at this point
Copy the full SHA 038d472View commit details