On Fri, Dec 1, 2017 at 1:04 AM, Sebastian Huber < sebastian.hu...@embedded-brains.de> wrote:
> On 30/11/17 19:11, Joel Sherrill wrote: > >> Hi >> >> I have been experimenting with the LEON3 bsp_specs and linker script. I >> have reduced it to this: >> >> ================================ >> %rename endfile old_endfile >> %rename startfile old_startfile >> >> *startfile: >> %{!qrtems: %(old_startfile)} \ >> %{!nostdlib: %{qrtems: crti.o%s crtbegin.o%s}} >> >> *endfile: >> %{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s} >> ================================ >> >> I can't figure out how to deal with the need for crt[in[ and crtbegin/end >> without modifying gcc. I was hoping to address them in the linkcmds. >> >> Any ideas? >> > > If we look at the current linker invocation (collect2) with and without > -specs bsp_specs on erc32 for ticker we get: > > sparc-rtems5-gcc -B../../../../../erc32/lib/ -specs bsp_specs -qrtems -o > ticker.exe init.o tasks.o -wrapper echo > /opt/rtems/5/lib/gcc/sparc-rtems5/7.2.1/collect2 > -dc > -dp > -N > -o > ticker.exe > ../../../../../erc32/lib/start.o > /opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1/crti.o > /opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1/crtbegin.o > -L../../../../../erc32/lib -L/opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1 > -L/opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1/../../../../sparc-rtems5/lib > init.o > tasks.o > -lgcc > --start-group > -lrtemsbsp > -lrtemscpu > -latomic > -lc > -lgcc > --end-group > -T > ../../../../../erc32/lib/linkcmds > -lgcc > /opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1/crtend.o > /opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1/crtn.o > > sparc-rtems5-gcc -B../../../../../erc32/lib/ -qrtems -o ticker.exe init.o > tasks.o -wrapper echo > /opt/rtems/5/lib/gcc/sparc-rtems5/7.2.1/collect2 > -o > ticker.exe > /opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1/../../../../sparc- > rtems5/lib/crt0.o > -L../../../../../erc32/lib > -L/opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1 > -L/opt/rtems/5/lib64/gcc/sparc-rtems5/7.2.1/../../../../sparc-rtems5/lib > init.o > tasks.o > -lgcc > --start-group > -lrtemsbsp > -lrtemscpu > -latomic > -lc > -lgcc > --end-group > -T > ../../../../../erc32/lib/linkcmds > -lgcc > > Maybe we can use > > /DISCARD/ : { crt0.o(*) } > > to get rid of the "/opt/rtems/5/lib64/gcc/sparc- > rtems5/7.2.1/../../../../sparc-rtems5/lib/crt0.o" in the linker command > file. I will play with that some. If that works, that would simplify things. The option I was playing with was ensuring that STARTFILE_SPECS and ENDFILE_SPECS were defined to know -qrtems in gcc. Unfortunately, I think that may involve touching most, if not all, of the gcc/config/*/*rtems.h files. > > > -- > Sebastian Huber, embedded brains G > <https://maps.google.com/?q=dded+brains+G&entry=gmail&source=g>mbH > > Address : Dornierstr. 4, D-82178 Puchheim, Germany > Phone : +49 89 189 47 41-16 > Fax : +49 89 189 47 41-09 > E-Mail : sebastian.hu...@embedded-brains.de > PGP : Public key available on request. > > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. > >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel