0 Members and 1 Guest are viewing this topic.
void foo() { //blah}int main() { static void (*var)() = foo; //Since it's static, the address will be inserted at link time (which is 0x8000+offset on my machine) var(); //The GOT based relocation code in Ndless currently does not update the static variable function pointer. return 0; //Crash}
Interesting I don't however know much about this subject to give a good response But thanks for sharing (on a side note, did you get my pm of a few day's ago?)
Out of curiosity, why was BFLT never used?
QuoteOut of curiosity, why was BFLT never used?Well, I think it has been much more a matter of finding enough free time, than a matter of feasibility
Interesting tangrs.But integrating to Ndless an ELF loader seems to be a bit overkilled just to support static initializers.It's true that this would be annoying for initialization of arrays, but there's a simple workaround for this with nl_relocdata().
I see. But you can probably keep your ELF loader in user space until you reach a stable C++ toolchain, I then may integrate both if you want.
I think an ELF loader would be amazing It would allow C++ support, and (possibly) dynamic libraries! (Although I don't think dynamic libraries would be good on the Nspire - a bundled, static package is more portable - it still will be useful for some other aspects and the thought of it being possible is nice On a somewhat related note, is the Newlib issue on the wiki still relevant? I see that we are including newlib in the API building...
On a somewhat related note, is the Newlib issue on the wiki still relevant? I see that we are including newlib in the API building...
tangrs, I see on your blog that you actually have a C++ build chain that works more or less. Do C++ programs now runs with your ELF loader?What are the "required functions" not implemented by Ndless that exception handling needs?