File tree Expand file tree Collapse file tree 3 files changed +58
-2
lines changed
crates/core_arch/src/acle/registers Expand file tree Collapse file tree 3 files changed +58
-2
lines changed Original file line number Diff line number Diff line change @@ -64,6 +64,24 @@ matrix:
64
64
env : TARGET=thumbv7em-none-eabi NORUN=1 NOSTD=1 NO_DOCKER=1
65
65
- name : " thumbv7em-none-eabihf - build libcore only"
66
66
env : TARGET=thumbv7em-none-eabihf NORUN=1 NOSTD=1 NO_DOCKER=1
67
+ - name : " Game Boy Advance - build libcore only"
68
+ env : NORUN=1 NOSTD=1 NO_DOCKER=1
69
+ install : cargo install xargo
70
+ script :
71
+ # Obtain the devkitPro tools, using `target/` as a temp directory. This
72
+ # is required because we need to use their linker. `lld` uses the `BLX`
73
+ # instruction, which was not available in thumb state code until ARMv5.
74
+ - mkdir -p target
75
+ - cd target
76
+ - wget https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb
77
+ - sudo dpkg -i devkitpro-pacman.deb
78
+ - sudo dkp-pacman -Sy
79
+ - sudo dkp-pacman -Syu
80
+ - sudo dkp-pacman -S -v --noconfirm gba-tools devkitARM
81
+ - export PATH="$PATH:/opt/devkitpro/devkitARM/bin"
82
+ - export PATH="$PATH:/opt/devkitpro/tools/bin"
83
+ - cd ..
84
+ - xargo build --all --target=ci/gba.json
67
85
- name : " Documentation"
68
86
install : true
69
87
script : ci/dox.sh
Original file line number Diff line number Diff line change
1
+ {
2
+ "abi-blacklist" : [
3
+ " stdcall" ,
4
+ " fastcall" ,
5
+ " vectorcall" ,
6
+ " thiscall" ,
7
+ " win64" ,
8
+ " sysv64"
9
+ ],
10
+ "arch" : " arm" ,
11
+ "atomic-cas" : false ,
12
+ "cpu" : " arm7tdmi" ,
13
+ "data-layout" : " e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" ,
14
+ "emit-debug-gdb-scripts" : false ,
15
+ "env" : " agb" ,
16
+ "executables" : true ,
17
+ "features" : " +soft-float,+strict-align" ,
18
+ "linker" : " arm-none-eabi-ld" ,
19
+ "linker-flavor" : " ld" ,
20
+ "linker-is-gnu" : true ,
21
+ "llvm-target" : " thumbv4-none-agb" ,
22
+ "os" : " none" ,
23
+ "panic-strategy" : " abort" ,
24
+ "pre-link-args" : {
25
+ "ld" : [
26
+ " -Tlinker.ld"
27
+ ]
28
+ },
29
+ "relocation-model" : " static" ,
30
+ "target-c-int-width" : " 32" ,
31
+ "target-endian" : " little" ,
32
+ "target-pointer-width" : " 32" ,
33
+ "vendor" : " nintendo"
34
+ }
Original file line number Diff line number Diff line change 1
1
/// Application Program Status Register
2
2
pub struct APSR ;
3
3
4
- #[ cfg( any( not( target_feature = "thumb-mode" ) , target_feature = "v6t2" ) ) ]
5
- rsr ! ( APSR ) ;
4
+ // Note (@Lokathor): Because this breaks the use of Rust on the Game Boy
5
+ // Advance, this change must be reverted until Rust learns to handle cpu state
6
+ // properly. See also: https://github.com/rust-lang-nursery/stdsimd/issues/702
7
+
8
+ //#[cfg(any(not(target_feature = "thumb-state"), target_feature = "v6t2"))]
9
+ //rsr!(APSR);
You can’t perform that action at this time.
0 commit comments