From 4888bfd879c0fc9744ad67841fbab757bc18d5e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Hauspie?= <michael.hauspie@univ-lille.fr>
Date: Mon, 10 Jun 2024 15:15:40 +0200
Subject: [PATCH] Fix section list in PIP elf extraction

---
 Cargo.lock  | 22 +++++++++++++++++++++-
 src/link.rs |  2 +-
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index e255832..e2e5254 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -766,7 +766,7 @@ name = "pip-mpu-relocate"
 version = "0.1.0"
 dependencies = [
  "elf",
- "thiserror",
+ "thiserror-core",
 ]
 
 [[package]]
@@ -1068,6 +1068,26 @@ dependencies = [
  "thiserror-impl",
 ]
 
+[[package]]
+name = "thiserror-core"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c001ee18b7e5e3f62cbf58c7fe220119e68d902bb7443179c0c8aef30090e999"
+dependencies = [
+ "thiserror-core-impl",
+]
+
+[[package]]
+name = "thiserror-core-impl"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4c60d69f36615a077cc7663b9cb8e42275722d23e58a7fa3d2c7f2915d09d04"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
 [[package]]
 name = "thiserror-impl"
 version = "1.0.58"
diff --git a/src/link.rs b/src/link.rs
index 04b749f..d137250 100644
--- a/src/link.rs
+++ b/src/link.rs
@@ -24,7 +24,7 @@ use std::io::Write;
 
 const PADDING_SIZE: usize = 32;
 const PADDING_BUFFER: [u8; PADDING_SIZE] = [0xff; PADDING_SIZE];
-const PIP_EXPORT_SECTIONS: &'static [&str] = &[".vector_table", ".text", ".data"];
+const PIP_EXPORT_SECTIONS: &'static [&str] = &[".vector_table", ".text", ".ARM.exidx", ".data"];
 const CRT0_EXPORT_SECTIONS: &'static [&str] = &[".text", ".rodata", ".ARM.exidx"];
 
 /// Options for the link subcommand
-- 
GitLab