Skip to content

Instantly share code, notes, and snippets.

View thejpster's full-sized avatar

Jonathan 'theJPster' Pallant thejpster

View GitHub Profile
~/rusttest $ cat .cargo/config.toml
[target.x86_64-unknown-linux-gnu]
linker = "gccfoo"
~/rusttest $ cat testbin/.cargo/config.toml
[target.x86_64-unknown-linux-gnu]
linker = "gccbar"
~/rusttest $ cd testbin
~/rusttest/testbin $ cargo run
diff --color -r cortex-m-07x-branch/asm/inline.rs cortex-m-master/cortex-m/asm/inline.rs
75c75
< asm!("dmb", options(nomem, nostack, preserves_flags));
---
> asm!("dmb", options(nostack, preserves_flags));
82c82
< asm!("dsb", options(nomem, nostack, preserves_flags));
---
> asm!("dsb", options(nostack, preserves_flags));
89c89
diff --color -r cortex-m-07x-branch/build.rs cortex-m-master/cortex-m/build.rs
30a31,40
> println!("cargo:rustc-check-cfg=cfg(armv6m)");
> println!("cargo:rustc-check-cfg=cfg(armv7m)");
> println!("cargo:rustc-check-cfg=cfg(armv7em)");
> println!("cargo:rustc-check-cfg=cfg(armv8m)");
> println!("cargo:rustc-check-cfg=cfg(armv8m_base)");
> println!("cargo:rustc-check-cfg=cfg(armv8m_main)");
> println!("cargo:rustc-check-cfg=cfg(cortex_m)");
> println!("cargo:rustc-check-cfg=cfg(has_fpu)");
cargo semver-checks
Building cortex-m v0.7.4 (current)
Built [ 5.133s] (current)
Parsing cortex-m v0.7.4 (current)
Parsed [ 0.014s] (current)
Building cortex-m v0.7.4 (baseline)
Built [ 5.453s] (baseline)
Parsing cortex-m v0.7.4 (baseline)
Parsed [ 0.007s] (baseline)
Checking cortex-m v0.7.4 -> v0.7.4 (no change)
#let board(time, content) = [
#set text(
font: "ModeSeven",
size: 18pt,
)
#set page(
width: 20cm,
height: 15cm,
margin: (top: 48pt, bottom: 26pt, left: 0.4cm, right: 0.4cm),
fill: black,
@thejpster
thejpster / trace.txt
Created September 21, 2024 18:48
sparc stack trace
#0 window_overflow_trap_handler () at ../../../cpukit/score/cpu/sparc/window.S:57
#1 0x40007b00 in compiler_builtins::int::shift::__ashldi3::__ashldi3 (a=47483648, b=32) at src/macros.rs:572
#2 0x40007274 in core::ops::bit::{impl#335}::shl (self=47483648, other=32) at /home/jonathan/Documents/rust-lang/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/src/rust/library/core/src/ops/bit.rs:470
#3 0x400077dc in compiler_builtins::int::HInt::widen_hi<u32> (self=47483648) at src/int/mod.rs:323
#4 0x4000979c in compiler_builtins::int::shift::Ashl::ashl<u64> (self=47483648, shl=32) at src/int/shift.rs:9
#5 0x40009954 in compiler_builtins::int::shift::__ashldi3 (a=47483648, b=32) at src/int/shift.rs:82
#6 0x40007b00 in compiler_builtins::int::shift::__ashldi3::__ashldi3 (a=47483648, b=32) at src/macros.rs:572
#7 0x40007274 in core::ops::bit::{impl#335}::shl (self=47483648, other=32) at /home/jonathan/Documents/rust-lang/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/src/rust/library/core/src/ops/
@thejpster
thejpster / reloc.rs
Created January 14, 2024 20:15
Some relocatable rust code
/* Use this linker script:
```text
SECTIONS {
. = 0x10000000;
Flash : {
KEEP(*(.entry))
KEEP(*(.entry.*))
@thejpster
thejpster / reloc.c
Created January 14, 2024 19:51
Some C code I want to be relocatable
// This file is Public Domain, or CC0 where that is not allowed
static int GLOBAL_VALUE = 5;
__attribute__((noinline))
int reloc_get(void) {
return GLOBAL_VALUE;
}
int reloc_add(int a) {
@thejpster
thejpster / main.rs
Created September 30, 2023 15:32
Tweet Media Fixer
fn main() -> Result<(), anyhow::Error> {
println!("Hello, world!");
let f = std::fs::File::open("mytweets.json")?;
let bf = std::io::BufReader::new(f);
println!("Parsing...");
let all_tweets: Vec<serde_json::Value> = serde_json::from_reader(bf)?;
println!("Got {} items", all_tweets.len());
let mut tweet_info = Vec::new();
for item in all_tweets {
This file has been truncated, but you can view the full file.
C:/Users/msn/Downloads/thumbv6m-none-eabi-flash1002-libneotron_os.elf: file format elf32-littlearm
Disassembly of section .text:
10020004 <<&T as core::fmt::Debug>::fmt>:
10020004: b5b0 push {r4, r5, r7, lr}
10020006: af02 add r7, sp, #8
10020008: b0a2 sub sp, #136
1002000a: 6800 ldr r0, [r0]