426 | | = Multilib GNU Ada = |
427 | | |
428 | | |
429 | | '''Status:''' [wiki:LaurentGuerby LaurentGuerby] has implemented the multilib'ing of the Ada run-time libraries. |
430 | | * gnatmake does not yet properly process -mcpu options like gcc so you have to use special command line options that make you way too aware of the multilib. |
431 | | |
432 | | {{{ |
433 | | You have to use --RTS together with -m for gnatmake |
434 | | to work for non-default multilib: |
435 | | |
436 | | gnatmake $FLAGS --RTS=$(gcc -print-multi-directory $FLAGS) |
437 | | }}} |
438 | | |
439 | | * There may as yet be target specific issues to work around where the same source file does not support all variants. |
440 | | |
441 | | The goal of this project is to implement Multilib support for GNU Ada (GNAT) run-time libraries in GCC. This primary |
442 | | focus of this project will be to augment the existing configure and Makefile infrastructure for the GNU Ada run-time |
443 | | libraries in GCC to build multilib rather than a single library variant. |
444 | | |
445 | | Multilib is a GNU term for building a single source library to be tailored for multiple CPU variants within a single architecture. |
446 | | This is done because even within a CPU architecture, not every CPU model is object code compatible. For example, on the RTEMS |
447 | | SPARC tools, we provide four libc.a versions -- SPARC V7 and V8 with and without hardware floating point support. Similarly, |
448 | | the m68k target supports many m680x0 and Coldfire core implementations with and without hardware floating point. |