Skip to content

Commit e730548

Browse files
authored
Restore hexagon architecture support (#172)
Use the nightly toolchain to verify the hexagon functionality since it's not normally built.
1 parent 4d140e8 commit e730548

25 files changed

+22243
-2
lines changed

.github/workflows/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ jobs:
6565
- run: cargo check --tests -vv --target=powerpc64le-unknown-linux-gnu
6666
- run: cargo check --tests -vv --target=armv5te-unknown-linux-gnueabi
6767
- run: cargo check --tests -vv --target=loongarch64-unknown-linux-gnu
68+
- run : >
69+
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu &&
70+
cargo +nightly check --tests -vv --target=hexagon-unknown-linux-musl -Zbuild-std -Zbuild-std-features=llvm-libunwind
71+
6872
6973
gen:
7074
name: Update generated files

gen/src/main.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,7 @@ fn rust_arches(linux_arch: &str) -> &[&str] {
289289
"arm64" => &["aarch64"],
290290
"avr32" => &["avr"],
291291
"csky" => &["csky"],
292-
// hexagon gets build errors; disable it for now
293-
"hexagon" => &[],
292+
"hexagon" => &["hexagon"],
294293
"loongarch" => &["loongarch64"],
295294
"mips" => &["mips", "mips64", "mips32r6", "mips64r6"],
296295
"powerpc" => &["powerpc", "powerpc64"],

src/hexagon/auxvec.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/* automatically generated by rust-bindgen 0.72.1 */
2+
3+
pub const AT_NULL: u32 = 0;
4+
pub const AT_IGNORE: u32 = 1;
5+
pub const AT_EXECFD: u32 = 2;
6+
pub const AT_PHDR: u32 = 3;
7+
pub const AT_PHENT: u32 = 4;
8+
pub const AT_PHNUM: u32 = 5;
9+
pub const AT_PAGESZ: u32 = 6;
10+
pub const AT_BASE: u32 = 7;
11+
pub const AT_FLAGS: u32 = 8;
12+
pub const AT_ENTRY: u32 = 9;
13+
pub const AT_NOTELF: u32 = 10;
14+
pub const AT_UID: u32 = 11;
15+
pub const AT_EUID: u32 = 12;
16+
pub const AT_GID: u32 = 13;
17+
pub const AT_EGID: u32 = 14;
18+
pub const AT_PLATFORM: u32 = 15;
19+
pub const AT_HWCAP: u32 = 16;
20+
pub const AT_CLKTCK: u32 = 17;
21+
pub const AT_SECURE: u32 = 23;
22+
pub const AT_BASE_PLATFORM: u32 = 24;
23+
pub const AT_RANDOM: u32 = 25;
24+
pub const AT_HWCAP2: u32 = 26;
25+
pub const AT_RSEQ_FEATURE_SIZE: u32 = 27;
26+
pub const AT_RSEQ_ALIGN: u32 = 28;
27+
pub const AT_HWCAP3: u32 = 29;
28+
pub const AT_HWCAP4: u32 = 30;
29+
pub const AT_EXECFN: u32 = 31;
30+
pub const AT_MINSIGSTKSZ: u32 = 51;

src/hexagon/bootparam.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/* automatically generated by rust-bindgen 0.72.1 */
2+
3+

0 commit comments

Comments
 (0)