You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When doing certain built-in operations, like casting between float and long long, the compiler will emit calls to helper functions from libgcc (such as __floatdisf). For example, in the otherwise completely unmodified helloworld, I added:
volatile long long test; //Volatile to make sure it doesn't get removed by optimizer
volatile float test2;
test2 = (float) test;
Which won't link as a reference to __floatdisf is generated to handle the cast, and that function is undefined.
It looks like libgcc was never built during the cross compiler make. That library is a little different than the rest of the standard C ones as it has the functions the compiler will emit automatically and is generally required for all platforms.
The text was updated successfully, but these errors were encountered:
ChrisPVille
changed the title
Casting floats generates __floatundidf (and related) library calls
libgcc.a not built
Aug 21, 2020
When doing certain built-in operations, like casting between float and long long, the compiler will emit calls to helper functions from libgcc (such as __floatdisf). For example, in the otherwise completely unmodified helloworld, I added:
Which won't link as a reference to
__floatdisf
is generated to handle the cast, and that function is undefined.It looks like libgcc was never built during the cross compiler make. That library is a little different than the rest of the standard C ones as it has the functions the compiler will emit automatically and is generally required for all platforms.
The text was updated successfully, but these errors were encountered: