Skip to content

Commit deae7c0

Browse files
author
Memfault Inc
committed
memfaultd 1.16.1 (Build 2781235)
1 parent c92348d commit deae7c0

File tree

10 files changed

+94
-34
lines changed

10 files changed

+94
-34
lines changed

CHANGELOG.md

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to
77
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
88

9-
## [1.16.0] - 2024-12-02
9+
## [1.16.1] - 2024-01-06
10+
11+
This is a small release that adds coredump capture support for 32-bit ARM
12+
targets using [musl libc](https://www.musl-libc.org/).
13+
14+
### Fixed
15+
16+
- The `coredump` feature can now be compiled for the
17+
`armv7-unknown-linux-musleabihf` target.
18+
19+
## [1.16.0] - 2024-12-20
1020

1121
This release includes two major new features:
1222

@@ -37,28 +47,29 @@ This release includes two major new features:
3747
branch if you are using that version of Yocto!
3848
- The built-in system memory metrics now include additional states such as
3949
Cached and Buffered.
40-
- The `metrics.statsd_server` has had a new option, `legacy_gauge_aggregation`,
41-
added that averages Gauge metric readings rather than simply storing the
42-
most recent value. This is meant to allow for a smooth migration from
43-
`collectd`'s StatsD server to `memfaultd`'s. New integrations should
44-
use the `h` (Histogram) metric type for metrics whose readings should
45-
be aggregated via average.
50+
- The `metrics.statsd_server` has had a new option, `legacy_gauge_aggregation`,
51+
added that averages Gauge metric readings rather than simply storing the most
52+
recent value. This is meant to allow for a smooth migration from `collectd`'s
53+
StatsD server to `memfaultd`'s. New integrations should use the `h`
54+
(Histogram) metric type for metrics whose readings should be aggregated via
55+
average.
4656

4757
### Changed
4858

4959
- The default on-device rate limit for logs ingested by `memfaultd` has been
5060
increased from 500 lines per minute to 1000 lines per minute
5161

52-
### Fixed
53-
- Arbitrary ASCII strings between 1 and 128 in length can
54-
now be used in StatsD metric keys (besides the `:` delimiter),
55-
matching the behavior described in the docs.
62+
### Fixed
63+
64+
- Arbitrary ASCII strings between 1 and 128 in length can now be used in StatsD
65+
metric keys (besides the `:` delimiter), matching the behavior described in
66+
the docs.
5667

5768
### Removed
5869

5970
Some built-in metrics were removed, as the naming conventions were not
60-
consistent. All of these metrics were added in 1.15.0. The list can
61-
be found below:
71+
consistent. All of these metrics were added in 1.15.0. The list can be found
72+
below:
6273

6374
- `cpu_usage_pct`
6475
- `connectivity_recv_bytes`
@@ -1169,3 +1180,5 @@ package][nginx-pid-report] for a discussion on the topic.
11691180
https://github.com/memfault/memfault-linux-sdk/releases/tag/1.15.1-kirkstone
11701181
[1.16.0]:
11711182
https://github.com/memfault/memfault-linux-sdk/releases/tag/1.16.0-kirkstone
1183+
[1.16.1]:
1184+
https://github.com/memfault/memfault-linux-sdk/releases/tag/1.16.1-kirkstone

Cargo.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VERSION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
BUILD ID: 2760091
2-
GIT COMMIT: 656ed19395
3-
VERSION: 1.16.0
1+
BUILD ID: 2781235
2+
GIT COMMIT: ec62db9dc0
3+
VERSION: 1.16.1

memfault-ssf/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "memfault-ssf"
3-
version = "1.16.0"
3+
version = "1.16.1"
44
edition = "2021"
55
description = "Supporting crate for the Memfault memfaultd embedded Linux agent"
66
homepage = "https://github.com/memfault/memfaultd"

memfault-ssf/VERSION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
BUILD ID: 2760091
2-
GIT COMMIT: 656ed19395
3-
VERSION: 1.16.0
1+
BUILD ID: 2781235
2+
GIT COMMIT: ec62db9dc0
3+
VERSION: 1.16.1

memfaultc-sys/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "memfaultc-sys"
3-
version = "1.16.0"
3+
version = "1.16.1"
44
edition = "2021"
55
autobins = false
66
description = "Supporting crate for the Memfault memfaultd embedded Linux agent"

memfaultc-sys/VERSION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
BUILD ID: 2760091
2-
GIT COMMIT: 656ed19395
3-
VERSION: 1.16.0
1+
BUILD ID: 2781235
2+
GIT COMMIT: ec62db9dc0
3+
VERSION: 1.16.1

memfaultd/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "memfaultd"
3-
version = "1.16.0"
3+
version = "1.16.1"
44
edition = "2021"
55
autobins = false
66
rust-version = "1.72"
@@ -28,8 +28,8 @@ name= "mfw"
2828
path= "src/bin/mfw.rs"
2929

3030
[dependencies]
31-
memfaultc-sys = { path= "../memfaultc-sys", version = "1.16.0" }
32-
ssf = { package = "memfault-ssf", path= "../memfault-ssf", version = "1.16.0" }
31+
memfaultc-sys = { path= "../memfaultc-sys", version = "1.16.1" }
32+
ssf = { package = "memfault-ssf", path= "../memfault-ssf", version = "1.16.1" }
3333
argh = "0.1.10"
3434
cfg-if = "1.0.0"
3535
chrono = { version = "0.4.23", features = ["serde"]}

memfaultd/VERSION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
BUILD ID: 2760091
2-
GIT COMMIT: 656ed19395
3-
VERSION: 1.16.0
1+
BUILD ID: 2781235
2+
GIT COMMIT: ec62db9dc0
3+
VERSION: 1.16.1

memfaultd/src/cli/memfault_core_handler/arch.rs

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ cfg_if! {
124124
ctx
125125
}
126126
}
127-
} else if #[cfg(target_arch = "arm")] {
127+
} else if #[cfg(all(target_arch = "arm", target_env = "gnu"))] {
128128
pub use libc::user_regs as ElfGRegSet;
129129
pub fn get_stack_pointer(regs: &ElfGRegSet) -> usize {
130130
regs.arm_sp as usize
@@ -149,6 +149,53 @@ cfg_if! {
149149
todo!()
150150
}
151151
}
152+
} else if #[cfg(all(target_arch = "arm", target_env = "musl"))] {
153+
use libc::c_ulong;
154+
#[derive(Debug, PartialEq, Eq)]
155+
#[repr(C)]
156+
pub struct user_regs {
157+
pub arm_r0: c_ulong,
158+
pub arm_r1: c_ulong,
159+
pub arm_r2: c_ulong,
160+
pub arm_r3: c_ulong,
161+
pub arm_r4: c_ulong,
162+
pub arm_r5: c_ulong,
163+
pub arm_r6: c_ulong,
164+
pub arm_r7: c_ulong,
165+
pub arm_r8: c_ulong,
166+
pub arm_r9: c_ulong,
167+
pub arm_r10: c_ulong,
168+
pub arm_fp: c_ulong,
169+
pub arm_ip: c_ulong,
170+
pub arm_sp: c_ulong,
171+
pub arm_lr: c_ulong,
172+
pub arm_pc: c_ulong,
173+
pub arm_cpsr: c_ulong,
174+
pub arm_orig_r0: c_ulong,
175+
}
176+
pub use user_regs as ElfGRegSet;
177+
pub fn get_stack_pointer(regs: &ElfGRegSet) -> usize {
178+
regs.arm_sp as usize
179+
}
180+
pub use elf::header::EM_ARM as ELF_TARGET_MACHINE;
181+
pub use elf::header::ELFCLASS32 as ELF_TARGET_CLASS;
182+
pub fn get_program_counter(regs: &ElfGRegSet) -> usize {
183+
regs.arm_pc as usize
184+
}
185+
pub fn set_stack_pointer(_regs: &mut HashMap<Register, usize>, _sp: usize) {
186+
todo!()
187+
}
188+
pub fn get_return_register(_regs: &HashMap<Register, usize>) -> Option<usize> {
189+
todo!()
190+
}
191+
pub const fn return_register_idx() -> Register {
192+
todo!()
193+
}
194+
impl From<&ElfGRegSet> for UnwindFrameContext {
195+
fn from(_regs: &ElfGRegSet) -> Self {
196+
todo!()
197+
}
198+
}
152199
} else if #[cfg(target_arch = "x86")] {
153200
pub use libc::user_regs_struct as ElfGRegSet;
154201
pub fn get_stack_pointer(regs: &ElfGRegSet) -> usize {

0 commit comments

Comments
 (0)