Page 2 of 2
Re: e200 broken in 21.6.x
Posted: Sun Sep 26, 2021 8:06 pm
by Giovanni
This is interesting:
https://community.nxp.com/t5/MPC5xxx/Wh ... d-p/922748Perhaps creating a stub would be sufficient, initializations are already done in startups.
Giovanni
Re: e200 broken in 21.6.x
Posted: Sun Sep 26, 2021 10:22 pm
by mobyfab
it seems like creating an __eabi() or __init() stub works
Giving this a try...
Code: Select all
--- extracted/gcc-4.9.4/libgcc/config/rs6000/t-e200.bkp 2021-09-26 23:45:07.848720330 +0200
+++ extracted/gcc-4.9.4/libgcc/config/rs6000/t-e200 2021-09-26 23:45:17.532808552 +0200
@@ -18,12 +18,3 @@
# We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and
# end labels to all of the special sections used when we link using gcc.
-
-# Assemble startup files.
-ecrti$(objext): $(srcdir)/config/rs6000/eabivle-ci.S
- $(crt_compile) -c $<
-
-ecrtn$(objext): $(srcdir)/config/rs6000/eabivle-cn.S
- $(crt_compile) -c $<
-
-
btw, toolchain documentation is available here:
https://www.nxp.com/docs/en/release-not ... 1-2-RN.pdf
Re: e200 broken in 21.6.x
Posted: Mon Sep 27, 2021 5:50 pm
by mobyfab
okay, so copying these 2 eabivle-c*.S files and compiling them with the demo works.
They are also compiled with GCC and placed in lib/gcc/powerpc-eabivle/4.9.4/ecrt*.o
I'm trying to figure out why they are ignored...
One option would be to add them to libgcc.a
Another would be to explicitly link with them.
Re: e200 broken in 21.6.x
Posted: Mon Sep 27, 2021 5:53 pm
by Giovanni
Probably they are not included because the application does not use the default startup files, our custom startups should export __eabi() and/or __init() equivalents I suppose.
Giovanni
Re: e200 broken in 21.6.x
Posted: Mon Sep 27, 2021 6:24 pm
by mobyfab
yes, a stub
void __eabi() {}; does the job as well
I've updated the script to use newer versions where possible, so far so good but I have no hardware to test it.
Re: e200 broken in 21.6.x
Posted: Sun Dec 05, 2021 10:42 am
by Giovanni
Added the stub to startup files, closing.
Giovanni