Re: Trace GNAT FSF avec numéro de lignes ...
Stéphane Rivière via Ada-france <[email protected]> Thu, 30 Jun 2022 14:30:13 +0200
| Newsgroups | gmane.comp.lang.ada.france |
|---|---|
| Organization | La Maison |
| Message-ID | <[email protected]> |
Entre les rdv du matin...
*BUILD GNAT 12.1.1*
supprimer tout autre compilateur GNAT dans le PATH
relancer une console
sudo apt install build-essential flex libmpfr-dev libgmp-dev
sudo apt install gnat-11 gprbuild
Baissé la version GNAT de 12 à 11 pour un compilo Ada non "expérimental"
(à toutes fins utiles)
cd /opt
git clone https://github.com/gcc-mirror/gcc.git
git checkout releases/gcc-12
Builder en dehors des sources de gcc
cd /opt/gcc
mkdir build && cd build
toujours vider build avant le configure
simplifications : ajout de --disable-multilib (compilo 64 seulement) et
supprimé --with-system-zlib --with-target-system-zlib=auto
../configure --prefix=/build/gcc-12.1 --enable-libada
--enable-languages=c,ada,c++ --enable-shared --enable-linker-build-id
--without-included-gettext --enable-threads=posix
--disable-vtable-verify --enable-plugin --enable-default-pie
--disable-werror --disable-multilib
configure ok, derniers contrôles
which gnat
/usr/bin/gnat
which gcc
/usr/bin/gcc
which gprbuild
/usr/bin/gprbuild
printenv PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
make -j8
sudo make install
build & install ok
*ENV **GNAT 12.1.1*
sudo apt purge gnat-11 gprbuild
echo 'export PATH=/build/gcc-12.1/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
printenv PATH
*/build/gcc-12.1/bin*:/usr/lo...
gnat -v
GNAT 12.1.1 20220629 ok
*TEST ****GNAT 12.1.1*
with Ada.Text_IO;
with Ada.Exceptions;
with GNAT.Traceback.Symbolic;
procedure Test3 is
package TIO renames Ada.Text_IO;
procedure Boum is
begin
raise Constraint_Error with "Boum";
end Boum;
begin
Boum;
exception
when Err : others =>
TIO.New_Line;
TIO.Put_Line ("Sortie 'Ada.Exceptions.Exception_Information(Err)'");
TIO.Put_Line (Ada.Exceptions.Exception_Information(Err));
TIO.Put_Line ("Sortie
'GNAT.Traceback.Symbolic.Symbolic_Traceback(Err)'");
TIO.Put_Line (GNAT.Traceback.Symbolic.Symbolic_Traceback(Err));
end Test3;
gnatmake -g test3.adb -bargs -E
gcc -c -g test3.adb
gnatbind -E -x test3.ali
gnatlink test3.ali -g
./test3
Sortie 'Ada.Exceptions.Exception_Information(Err)'
raised CONSTRAINT_ERROR : Boum
Call stack traceback locations:
0x555f0fc4947d 0x555f0fc494a6 0x555f0fc49411 0x7f637d431d8e
0x7f637d431e3e 0x555f0fc48e93 0xfffffffffffffffe
Sortie 'GNAT.Traceback.Symbolic.Symbolic_Traceback(Err)'
[./test3]
*0x555f0fc4947d Test3.Boum at test3.adb:15**
**0x555f0fc494a6 Test3 at test3.adb:20**
**0x555f0fc49411 Main at b~test3.adb:245*
[/lib/x86_64-linux-gnu/libc.so.6]
0x7f637d431d8e
0x7f637d431e3e
[./test3]
0x555f0fc48e93 _start at ???
0xfffffffffffffffe
Bingo !
Merci à Stéphane et Nicolas !!!
*Build GDB*
wget http://ftp.gnu.org/gnu/gdb/gdb-12.1.tar.gz
tar -xf gdb-12.1.tar.gz
cd gdb-12.1
En tapotant :
./configure --help | grep ada
--enable-libada build libada directory
Une seule option pour Ada (en fait ça semble être les mêmes options que gcc)
Ça me semble un peu 'sec' pour faire un gdb compatible GNAT, ça tombe
vraiment en marche ? ;)
Un
./configure --prefix=/build/gcc-12.1 --enable-libada
--enable-languages=c,ada,c++ --enable-shared --enable-linker-build-id
--without-included-gettext --enable-threads=posix
--disable-vtable-verify --enable-plugin --enable-default-pie
--disable-werror --disable-multilib
ne bronche pas, alors
make
sudo make install
On voit bien passer de la compilation spécifique Ada...
Ça a l'air d'être bien passé, on testera en fin de journée :)))
Remarque : Les (avant) derniers NUC intel (i7 11e génération) sont
impressionnants de coolitude. Les autres stations NUC Intel (i5 9e
génération) chauffent bien en charge moyenne - 70-80° et ça fait des
années qu'elles tiennent ainsi. Mais Les NUC Intel i7 11... sans trop de
charge 49°, compilation de gcc, monte de 2/3 degrés puis retombe à 49°
:(). Normalement, une compil de gcc fait fumer le processeur. Là non.
Les traditions se perdent.
--
Stéphane Rivière
Ile d'Oléron - France
_______________________________________________
Ada-france mailing list
[email protected]
https://mail.ada-france.org/cgi-bin/mailman/listinfo/ada-france
OpenPGP_0x68A4C5C1D498F92F.asc
(application/pgp-keys, 3.1 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- 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 =smkS -----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature
(application/pgp-signature, 840 B) - not displayed