Reputation: 103
Is there any way to know where the symbol comes from using objdump
.
I have few symbols when i do objdump
on my elf file (as follows):
8010864 g F .text 0000007c __floatdisf
8010864 g F .text 0000007c __aeabi_l2f
8010854 g F .text 0000008c __floatundisf
I am not sure where they come from. They are not part of the libm
library.
Upvotes: 0
Views: 262
Reputation:
These functions are glue inserted by the compiler for conversions from integer to floating-point types. (floatdisf
converts signed integer to float, floatundisf
converts unsigned integer to float, and aeabi_l2f
is an alias for floatdisf
.)
The implementations of these functions in LLVM can be found at:
As the path suggests, they are part of the compiler_rt
library, which is linked in automatically as needed.
Upvotes: 1
Reputation: 781
First of all extract all .o files from the lib.a (in some temp directory)
ar -x lib.a
then find which .o file contains your symbol using below command
ar -t lib.a | xargs grep "symbol" -l
Upvotes: 0