mirror of
https://github.com/encounter/objdiff.git
synced 2026-07-10 12:18:36 -07:00
Remove git-based dependencies and update several (#379)
This commit is contained in:
Generated
+1676
-971
File diff suppressed because it is too large
Load Diff
@@ -20,7 +20,7 @@ enable-ansi-support = "0.3"
|
|||||||
memmap2 = "0.9"
|
memmap2 = "0.9"
|
||||||
objdiff-core = { path = "../objdiff-core", features = ["all"] }
|
objdiff-core = { path = "../objdiff-core", features = ["all"] }
|
||||||
prost = "0.14"
|
prost = "0.14"
|
||||||
ratatui = "0.29"
|
ratatui = "0.30"
|
||||||
rayon = "1.11"
|
rayon = "1.11"
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
|
|||||||
@@ -128,16 +128,16 @@ features = ["all"]
|
|||||||
anyhow = { version = "1.0", default-features = false }
|
anyhow = { version = "1.0", default-features = false }
|
||||||
filetime = { version = "0.2", optional = true }
|
filetime = { version = "0.2", optional = true }
|
||||||
flagset = { version = "0.4", default-features = false, optional = true }
|
flagset = { version = "0.4", default-features = false, optional = true }
|
||||||
itertools = { version = "0.14", default-features = false, features = ["use_alloc"] }
|
itertools = { version = "0.15", default-features = false, features = ["use_alloc"] }
|
||||||
log = { version = "0.4", default-features = false, optional = true }
|
log = { version = "0.4", default-features = false, optional = true }
|
||||||
memmap2 = { version = "0.9", optional = true }
|
memmap2 = { version = "0.9", optional = true }
|
||||||
num-traits = { version = "0.2", default-features = false, optional = true }
|
num-traits = { version = "0.2", default-features = false, optional = true }
|
||||||
object = { version = "0.39.1", default-features = false, features = ["read_core", "elf", "coff"] }
|
object = { version = "0.39.1", default-features = false, features = ["read_core", "elf", "coff"] }
|
||||||
pbjson = { version = "0.8", default-features = false, optional = true }
|
pbjson = { version = "0.9", default-features = false, optional = true }
|
||||||
prost = { version = "0.14", default-features = false, features = ["derive"], optional = true }
|
prost = { version = "0.14", default-features = false, features = ["derive"], optional = true }
|
||||||
regex = { version = "1.12", default-features = false, features = [], optional = true }
|
regex = { version = "1.12", default-features = false, features = [], optional = true }
|
||||||
serde = { version = "1.0", default-features = false, features = ["derive"], optional = true }
|
serde = { version = "1.0", default-features = false, features = ["derive"], optional = true }
|
||||||
similar = { git = "https://github.com/encounter/similar.git", branch = "no_std", default-features = false, features = ["hashbrown"], optional = true }
|
similar = { version = "3.1", default-features = false, features = ["hashbrown"], optional = true }
|
||||||
typed-path = { version = "0.12", default-features = false, optional = true }
|
typed-path = { version = "0.12", default-features = false, optional = true }
|
||||||
|
|
||||||
# config
|
# config
|
||||||
@@ -146,7 +146,7 @@ semver = { version = "1.0", default-features = false, optional = true }
|
|||||||
serde_json = { version = "1.0", default-features = false, features = ["alloc"], optional = true }
|
serde_json = { version = "1.0", default-features = false, features = ["alloc"], optional = true }
|
||||||
|
|
||||||
# dwarf
|
# dwarf
|
||||||
gimli = { git = "https://github.com/gimli-rs/gimli", rev = "7335f00e7c39fd501511584fefb0ba974117c950", default-features = false, features = ["read"], optional = true }
|
gimli = { version = "0.34.0", default-features = false, features = ["read"], optional = true }
|
||||||
typed-arena = { version = "2.0", default-features = false, optional = true }
|
typed-arena = { version = "2.0", default-features = false, optional = true }
|
||||||
|
|
||||||
# ppc
|
# ppc
|
||||||
@@ -155,7 +155,7 @@ powerpc = { version = "0.4", optional = true }
|
|||||||
rlwinmdec = { version = "1.1", optional = true }
|
rlwinmdec = { version = "1.1", optional = true }
|
||||||
|
|
||||||
# mips
|
# mips
|
||||||
rabbitizer = { version = "2.0.0-alpha.7", default-features = false, features = ["all_extensions"], optional = true }
|
rabbitizer = { version = "2.0.0-alpha.9", default-features = false, features = ["all_extensions"], optional = true }
|
||||||
|
|
||||||
# x86
|
# x86
|
||||||
iced-x86 = { version = "1.21", default-features = false, features = ["decoder", "intel", "gas", "masm", "nasm", "exhaustive_enums", "no_std"], optional = true }
|
iced-x86 = { version = "1.21", default-features = false, features = ["decoder", "intel", "gas", "masm", "nasm", "exhaustive_enums", "no_std"], optional = true }
|
||||||
@@ -187,17 +187,17 @@ winapi = { version = "0.3", optional = true, features = ["winbase"] }
|
|||||||
|
|
||||||
# For Linux static binaries, use rustls
|
# For Linux static binaries, use rustls
|
||||||
[target.'cfg(target_os = "linux")'.dependencies]
|
[target.'cfg(target_os = "linux")'.dependencies]
|
||||||
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "multipart", "rustls-tls"], optional = true }
|
reqwest = { version = "0.13", default-features = false, features = ["blocking", "json", "multipart", "rustls"], optional = true }
|
||||||
self_update = { version = "0.42", default-features = false, features = ["rustls"], optional = true }
|
self_update = { version = "0.42", default-features = false, features = ["rustls"], optional = true }
|
||||||
|
|
||||||
# For all other platforms, use native TLS
|
# For all other platforms, use native TLS
|
||||||
[target.'cfg(not(target_os = "linux"))'.dependencies]
|
[target.'cfg(not(target_os = "linux"))'.dependencies]
|
||||||
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "multipart", "default-tls"], optional = true }
|
reqwest = { version = "0.13", default-features = false, features = ["blocking", "json", "multipart", "default-tls"], optional = true }
|
||||||
self_update = { version = "0.42", optional = true }
|
self_update = { version = "0.42", optional = true }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
heck = { version = "0.5", optional = true }
|
heck = { version = "0.5", optional = true }
|
||||||
pbjson-build = { version = "0.8", optional = true }
|
pbjson-build = { version = "0.9", optional = true }
|
||||||
prettyplease = { version = "0.2", optional = true }
|
prettyplease = { version = "0.2", optional = true }
|
||||||
proc-macro2 = { version = "1.0", optional = true }
|
proc-macro2 = { version = "1.0", optional = true }
|
||||||
prost-build = { version = "0.14", optional = true }
|
prost-build = { version = "0.14", optional = true }
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use alloc::{vec, vec::Vec};
|
|||||||
use core::{cmp::Ordering, ops::Range};
|
use core::{cmp::Ordering, ops::Range};
|
||||||
|
|
||||||
use anyhow::{Result, anyhow};
|
use anyhow::{Result, anyhow};
|
||||||
use similar::{Algorithm, capture_diff_slices, get_diff_ratio};
|
use similar::{Algorithm, capture_diff_slices, diff_ratio};
|
||||||
|
|
||||||
use super::{
|
use super::{
|
||||||
DataDiff, DataDiffKind, DataDiffRow, DataRelocationDiff, ObjectDiff, SectionDiff, SymbolDiff,
|
DataDiff, DataDiffKind, DataDiffRow, DataRelocationDiff, ObjectDiff, SectionDiff, SymbolDiff,
|
||||||
@@ -79,7 +79,7 @@ pub fn resolve_relocation<'obj>(
|
|||||||
/// Compares the bytes within a certain data range.
|
/// Compares the bytes within a certain data range.
|
||||||
fn diff_data_range(left_data: &[u8], right_data: &[u8]) -> (f32, Vec<DataDiff>, Vec<DataDiff>) {
|
fn diff_data_range(left_data: &[u8], right_data: &[u8]) -> (f32, Vec<DataDiff>, Vec<DataDiff>) {
|
||||||
let ops = capture_diff_slices(Algorithm::Patience, left_data, right_data);
|
let ops = capture_diff_slices(Algorithm::Patience, left_data, right_data);
|
||||||
let bytes_match_ratio = get_diff_ratio(&ops, left_data.len(), right_data.len());
|
let bytes_match_ratio = diff_ratio(&ops, left_data.len(), right_data.len());
|
||||||
|
|
||||||
let mut left_data_diff = Vec::<DataDiff>::new();
|
let mut left_data_diff = Vec::<DataDiff>::new();
|
||||||
let mut right_data_diff = Vec::<DataDiff>::new();
|
let mut right_data_diff = Vec::<DataDiff>::new();
|
||||||
@@ -552,7 +552,7 @@ pub fn diff_bss_section(
|
|||||||
.filter_map(|(_, s)| s.address.checked_sub(right_section.address).map(|a| (a, s.size)))
|
.filter_map(|(_, s)| s.address.checked_sub(right_section.address).map(|a| (a, s.size)))
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
let ops = capture_diff_slices(Algorithm::Patience, &left_sizes, &right_sizes);
|
let ops = capture_diff_slices(Algorithm::Patience, &left_sizes, &right_sizes);
|
||||||
let mut match_percent = get_diff_ratio(&ops, left_sizes.len(), right_sizes.len()) * 100.0;
|
let mut match_percent = diff_ratio(&ops, left_sizes.len(), right_sizes.len()) * 100.0;
|
||||||
|
|
||||||
// Use the highest match percent between two options:
|
// Use the highest match percent between two options:
|
||||||
// - Left symbols matching right symbols by name
|
// - Left symbols matching right symbols by name
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
source: objdiff-core/tests/arch_ppc.rs
|
source: objdiff-core/tests/arch_ppc.rs
|
||||||
|
assertion_line: 88
|
||||||
expression: sections_display
|
expression: sections_display
|
||||||
---
|
---
|
||||||
[
|
[
|
||||||
@@ -48,7 +49,7 @@ expression: sections_display
|
|||||||
name: ".text",
|
name: ".text",
|
||||||
size: 3060,
|
size: 3060,
|
||||||
match_percent: Some(
|
match_percent: Some(
|
||||||
58.662746,
|
58.466667,
|
||||||
),
|
),
|
||||||
symbols: [
|
symbols: [
|
||||||
SectionDisplaySymbol {
|
SectionDisplaySymbol {
|
||||||
|
|||||||
@@ -344,7 +344,9 @@ pub fn diff_view_ui(
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
ui.label(RichText::new("Last built:").text_style(egui::TextStyle::Monospace));
|
ui.label(RichText::new("Last built:").text_style(egui::TextStyle::Monospace));
|
||||||
let format = format_description::parse("[hour]:[minute]:[second]").unwrap();
|
let format =
|
||||||
|
format_description::parse_borrowed::<3>("[hour]:[minute]:[second]")
|
||||||
|
.unwrap();
|
||||||
ui.label(
|
ui.label(
|
||||||
RichText::new(
|
RichText::new(
|
||||||
result.time.to_offset(appearance.utc_offset).format(&format).unwrap(),
|
result.time.to_offset(appearance.utc_offset).format(&format).unwrap(),
|
||||||
|
|||||||
Reference in New Issue
Block a user