Homebrew VFP linking errors even when setting -mfloat-abi=hard to both the compiler and linker

Pikachuk

Well-Known Member
OP
Member
Joined
Mar 19, 2016
Messages
753
Trophies
0
Age
21
Location
Bordeaux
XP
576
Country
France
Hi,
I have been working on trying to maintain the old wip godot 3ds port that got abandonned. I was able to get it updated to godot 2.1.7 RC and upgrade the build scripts to python 3 as well as fix the obsolete citro3d code, however when building I keep getting a bunch of VFP errors I can't find any way to fix.
This is normally an issue we encounter mostly when building with -mfloat-abi=soft, however, I am a 100% sure -mfloat-abi=hard is used, it is even shown when building with verbose compile options that this is the proper float type used for both compiler *and* linker

Here is the repository : https://github.com/SeleDreams/godot-3ds
the build options being in platform/3ds/detect.py

does anyone know why that might happen even with -mfloat-abi=hard ?
 

PabloMK7

Red Yoshi! ^ω^
Developer
Joined
Feb 21, 2014
Messages
2,520
Trophies
1
Age
23
Location
Yoshi's Island
XP
4,007
Country
Spain
Looking at the log, it looks like you are "using" the lib files found in "devkitARM\arm-none-eabi\lib", however those are compiled with soft float ABI. You should be using the lib files found in "devkitARM\arm-none-eabi\lib\armv6k\fpu" which have hard float ABI.
 
  • Like
Reactions: Pikachuk

Pikachuk

Well-Known Member
OP
Member
Joined
Mar 19, 2016
Messages
753
Trophies
0
Age
21
Location
Bordeaux
XP
576
Country
France
Looking at the log, it looks like you are "using" the lib files found in "devkitARM\arm-none-eabi\lib", however those are compiled with soft float ABI. You should be using the lib files found in "devkitARM\arm-none-eabi\lib\armv6k\fpu" which have hard float ABI.
Oh, thanks, I'm going to try it now, I never considered that this could be the issue

edit : that worked, thank you a lot
 

Pikachuk

Well-Known Member
OP
Member
Joined
Mar 19, 2016
Messages
753
Trophies
0
Age
21
Location
Bordeaux
XP
576
Country
France
Looking at the log, it looks like you are "using" the lib files found in "devkitARM\arm-none-eabi\lib", however those are compiled with soft float ABI. You should be using the lib files found in "devkitARM\arm-none-eabi\lib\armv6k\fpu" which have hard float ABI.
Unrelated but due to godot using scons and not makefile, it generates directly an elf with gcc, is there a devkitpro cli binary i could use to pack a 3dsx out of this binary and the godot game assets
edit: found it
 
Last edited by Pikachuk,
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: +2