You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by yu...@apache.org on 2024/01/03 14:10:19 UTC
(incubator-teaclave-trustzone-sdk) 06/08: examples: ta: build.rs: Fix some linker incompatibilities
This is an automated email from the ASF dual-hosted git repository.
yuanz pushed a commit to branch no-std
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave-trustzone-sdk.git
commit a85d031e5b4a2b3289d2f5b55716ac7889d4c2f4
Author: Sumit Garg <su...@linaro.org>
AuthorDate: Tue Jan 2 15:30:29 2024 +0530
examples: ta: build.rs: Fix some linker incompatibilities
Since we don't have a similar linker script pre-processing capability in
rust build script as we have with C Makefile. So manually fix following
build error seen with older GCC linker while parsing linker scripts:
aarch64-linux-gnu-ld.bfd:ta.lds:3: ignoring invalid character `#' in expression
Signed-off-by: Sumit Garg <su...@linaro.org>
---
examples/acipher-rs/ta/build.rs | 20 +++++++++++++++-----
examples/aes-rs/ta/build.rs | 20 +++++++++++++++-----
examples/authentication-rs/ta/build.rs | 20 +++++++++++++++-----
examples/big_int-rs/ta/build.rs | 20 +++++++++++++++-----
examples/diffie_hellman-rs/ta/build.rs | 20 +++++++++++++++-----
examples/digest-rs/ta/build.rs | 20 +++++++++++++++-----
examples/hello_world-rs/ta/build.rs | 20 +++++++++++++++-----
examples/hotp-rs/ta/build.rs | 20 +++++++++++++++-----
examples/random-rs/ta/build.rs | 20 +++++++++++++++-----
examples/secure_storage-rs/ta/build.rs | 20 +++++++++++++++-----
examples/signature_verification-rs/ta/build.rs | 20 +++++++++++++++-----
examples/supp_plugin-rs/ta/build.rs | 20 +++++++++++++++-----
examples/time-rs/ta/build.rs | 20 +++++++++++++++-----
13 files changed, 195 insertions(+), 65 deletions(-)
diff --git a/examples/acipher-rs/ta/build.rs b/examples/acipher-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/acipher-rs/ta/build.rs
+++ b/examples/acipher-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/aes-rs/ta/build.rs b/examples/aes-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/aes-rs/ta/build.rs
+++ b/examples/aes-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/authentication-rs/ta/build.rs b/examples/authentication-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/authentication-rs/ta/build.rs
+++ b/examples/authentication-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/big_int-rs/ta/build.rs b/examples/big_int-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/big_int-rs/ta/build.rs
+++ b/examples/big_int-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/diffie_hellman-rs/ta/build.rs b/examples/diffie_hellman-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/diffie_hellman-rs/ta/build.rs
+++ b/examples/diffie_hellman-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/digest-rs/ta/build.rs b/examples/digest-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/digest-rs/ta/build.rs
+++ b/examples/digest-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/hello_world-rs/ta/build.rs b/examples/hello_world-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/hello_world-rs/ta/build.rs
+++ b/examples/hello_world-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/hotp-rs/ta/build.rs b/examples/hotp-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/hotp-rs/ta/build.rs
+++ b/examples/hotp-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/random-rs/ta/build.rs b/examples/random-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/random-rs/ta/build.rs
+++ b/examples/random-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/secure_storage-rs/ta/build.rs b/examples/secure_storage-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/secure_storage-rs/ta/build.rs
+++ b/examples/secure_storage-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/signature_verification-rs/ta/build.rs b/examples/signature_verification-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/signature_verification-rs/ta/build.rs
+++ b/examples/signature_verification-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/supp_plugin-rs/ta/build.rs b/examples/supp_plugin-rs/ta/build.rs
index e63b967..826b509 100644
--- a/examples/supp_plugin-rs/ta/build.rs
+++ b/examples/supp_plugin-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
diff --git a/examples/time-rs/ta/build.rs b/examples/time-rs/ta/build.rs
index af0e5ab..2e40c4a 100644
--- a/examples/time-rs/ta/build.rs
+++ b/examples/time-rs/ta/build.rs
@@ -53,18 +53,28 @@ fn main() -> std::io::Result<()> {
match env::var("ARCH") {
Ok(ref v) if v == "arm" => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf32-littlearm\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(arm)\n")?;
for line in f.lines() {
- write!(ta_lds, "{}\n", line?)?;
+ let l = line?;
+
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf64-littleaarch64\")" ||
+ l == "OUTPUT_ARCH(aarch64)" {
+ continue;
+ }
+
+ write!(ta_lds, "{}\n", l)?;
}
},
_ => {
- write!(ta_lds, "OUTPUT_FORMAT(\"elf64-littleaarch64\")\n")?;
- write!(ta_lds, "OUTPUT_ARCH(aarch64)\n")?;
for line in f.lines() {
let l = line?;
+ if l.starts_with('#') ||
+ l == "OUTPUT_FORMAT(\"elf32-littlearm\")" ||
+ l == "OUTPUT_ARCH(arm)" {
+ continue;
+ }
+
if l == "\t. = ALIGN(4096);" {
write!(ta_lds, "\t. = ALIGN(65536);\n")?;
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org