Hello people. I've been doing libgcc subset extraction for cortex m4(armv7e-m). I'm using gcc version 4.9.1. The basic methodology I'm using includes,
i- Build gcc and locate the armv7e-m/libgcc/libgcc.a fileii- Disassemble the libgcc.a file and search for the requisite functions like __aeabi_f2d(__extendsfdf2).iii- Perform cleanup and I'm done.
This has worked for most of the functions under consideration. However certain functions just don't seem to have a .text section. It must be noted that the .text section is where the important stuff happens, and this is what I want to extract. Like when I extracted __aeabi_l2f(__floatdisf) which is used for long long to single precision conversion, I got the disassembly which you can see in the attached document. Is it possible for functions to just be stubs and have no code whatsoever. This is rather anti-intuitive and difficult to comprehend. Can someone please give some explanation.
Thanks, Bilal
I have the source of __aeabi_f2d, but the source of __aeabi_l2f was giving me problems. It was just a stub. However, I've solved this problem now by making a very simple application, building it with gcc using the appropriate flags, and then seeing the disassembly. I don't know why I wasn't able to extract sources by dissembling libgcc.a. The thing about the place-holder libraries is kinda new for me. Thanks for that