prerelease 0.9rc0 of MELT plugin 0.9 for GCC 4.6

6 views
Skip to first unread message

Basile Starynkevitch

unread,
Sep 2, 2011, 9:32:05 AM9/2/11
to gcc-...@googlegroups.com
Hello All


I am pre-releasing MELT 0.9rc0 plugin. You can download it from
http://gcc-melt.org/melt-0.9rc0-plugin-for-gcc-4.6.tgz

There are probably several bugs remaining. Please report them on the list.

This is only announced on gcc-melt@, I will announce the 0.9rc1 plugin next week.


If you are happy to have it build and work, please tell us (on gcc-melt@ list).

If you got bugs, please also tell here.

Please give it a try and tell about bugs.

If you want me to add more patches to it, please do.

Cheers.
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

Alexandre Lissy

unread,
Sep 2, 2011, 2:09:05 PM9/2/11
to gcc-...@googlegroups.com
Le 02/09/2011 15:32, Basile Starynkevitch a �crit :

> Hello All
>
>
> I am pre-releasing MELT 0.9rc0 plugin. You can download it from
> http://gcc-melt.org/melt-0.9rc0-plugin-for-gcc-4.6.tgz
>
> There are probably several bugs remaining. Please report them on the list.
>
> This is only announced on gcc-melt@, I will announce the 0.9rc1 plugin next week.
>
>
> If you are happy to have it build and work, please tell us (on gcc-melt@ list).
>
> If you got bugs, please also tell here.
>
> Please give it a try and tell about bugs.
>
> If you want me to add more patches to it, please do.
>
> Cheers.

Now available in Mandriva Cooker and Mandriva 2011 (contrib/updates) :)

Alexandre Lissy

unread,
Sep 2, 2011, 2:59:13 PM9/2/11
to gcc-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le 02/09/2011 20:09, Alexandre Lissy a �crit :

And now, talpo using this melt 0.9rc0 will soon hit mirrors for both
of the distribs :)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk5hJ30ACgkQfP+GwT1GJ3Fc5QCgussBQzK97iIQt/pTrFdkKuJ7
irMAnimY8yQvpaY84dAVS5isqWlMJHFt
=uHaV
-----END PGP SIGNATURE-----

Basile Starynkevitch

unread,
Sep 2, 2011, 3:21:13 PM9/2/11
to gcc-...@googlegroups.com, Alexandre Lissy
On Fri, 02 Sep 2011 20:09:05 +0200
Alexandre Lissy <ali...@mandriva.com> wrote:

> Le 02/09/2011 15:32, Basile Starynkevitch a écrit :
> > Hello All
> >
> >
> > I am pre-releasing MELT 0.9rc0 plugin. You can download it from
> > http://gcc-melt.org/melt-0.9rc0-plugin-for-gcc-4.6.tgz
> >

> > Cheers.
>
> Now available in Mandriva Cooker and Mandriva 2011 (contrib/updates) :)

Thanks for all your good work on that (and your contribution to MELT).

I have no idea, but if you feel something could easily be made inside MELT to ease the
work of packagers, it is really the time to suggest such things.

I don't understand at all what is making packaging life easy or difficult... (apart some
Makefile)

[I hope you won't ask me to add autoconf-horrors to MELT plugin for that sake]

Cheers.


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France

*** opinions {are only mine, sont seulement les miennes} ***

Alexandre Lissy

unread,
Sep 3, 2011, 6:27:54 AM9/3/11
to gcc-...@googlegroups.com
Le 02/09/2011 21:21, Basile Starynkevitch a �crit :

> On Fri, 02 Sep 2011 20:09:05 +0200 Alexandre Lissy
> <ali...@mandriva.com> wrote:
>
>> Le 02/09/2011 15:32, Basile Starynkevitch a �crit :

>>> Hello All
>>>
>>>
>>> I am pre-releasing MELT 0.9rc0 plugin. You can download it from
>>> http://gcc-melt.org/melt-0.9rc0-plugin-for-gcc-4.6.tgz
>>>
>>> Cheers.
>>
>> Now available in Mandriva Cooker and Mandriva 2011
>> (contrib/updates) :)
>
> Thanks for all your good work on that (and your contribution to
> MELT).
>
> I have no idea, but if you feel something could easily be made
> inside MELT to ease the work of packagers, it is really the time to
> suggest such things.
>
> I don't understand at all what is making packaging life easy or
> difficult... (apart some Makefile)
>
> [I hope you won't ask me to add autoconf-horrors to MELT plugin for
> that sake]
>
> Cheers.
>
>

Do you think it would be complex to change the level of warning at
MELT level ?

I mean, if I want to run talpo on grub2's source while building the
package, I have to disable -Werror, otherwise, MELT warnings stops the
build.

Is it possible to have a flag to change them to notice level ?

Basile Starynkevitch

unread,
Sep 3, 2011, 10:39:18 AM9/3/11
to gcc-...@googlegroups.com, Alexandre Lissy


This is a question for Talpo (i.e. for Pierre), not for MELT. Pierre might change some of
(warning_* ...) MELT expressions to (inform_* ...) MELT expressions, but I am not sure it
would be a good idea.

And I am not sure the good answer would be to change all the warnings given by Talpo into
notices. After all, Talpo does give indeed warnings, not notices. (I mean that when talpo
says that fopen is not tested, it is a genuine warning, and talpo is right to warn, and
not only to notice, about that. I also know that Talpo (& even MELT) may give false
positives (even GCC does sometimes, without any plugin)

Perhaps the good way, in a future version of Talpo (and MELT), might be to add a
#pragma MELT talpo_disable_warning
which would disable TALPO warnings for a given function. There could be a some cases
where that would be useful (e.g. a program probably can presuppose that /dev/null alsways
can be fopen-ed, because when it is not the case, the system is in so bad state that the
program cannot work anymore).

My short answer is that you don't want to build grub2 with GCC + Melt + talpo: Grub's
developers can use GCC + Melt + talpo to help find bugs, but the packaging of Grub should
not depend at all on Talpo (in particular, because you might want to build Grub on a
system without Talpo, without MELT, or on a system without GCC 4.6).

Cheers

Pierre Vittet

unread,
Sep 4, 2011, 4:01:41 AM9/4/11
to gcc-...@googlegroups.com
Hello,

>>
>> Is it possible to have a flag to change them to notice level ?
>
>
> This is a question for Talpo (i.e. for Pierre), not for MELT. Pierre
might change some of
> (warning_* ...) MELT expressions to (inform_* ...) MELT expressions,
but I am not sure it
> would be a good idea.
>

Thanks for your comment.
In every test model, I use a function warn_(test_name), so I could add a
function notice_(test_name) and depending of the user's options, we
would use one or the other.

We could imagine using special, pragma, or sexpr to give new parameters
(as I think that passing argument for Talpo when invoking GCC is quite
boring.

I also would like to give the ability to not or not some specific
functions instead of a whole compilation units.

>
> My short answer is that you don't want to build grub2 with GCC + Melt + talpo: Grub's
> developers can use GCC + Melt + talpo to help find bugs, but the packaging of Grub should
> not depend at all on Talpo (in particular, because you might want to build Grub on a
> system without Talpo, without MELT, or on a system without GCC 4.6).
>

I don't understand why compiling with MELT and Talpo should oblige the
user to have MELT and Talpo?


> Cheers

Alexandre Lissy

unread,
Sep 4, 2011, 5:56:40 AM9/4/11
to gcc-...@googlegroups.com
Le 02/09/2011 15:32, Basile Starynkevitch a �crit :
> Hello All
>
>
> I am pre-releasing MELT 0.9rc0 plugin. You can download it from
> http://gcc-melt.org/melt-0.9rc0-plugin-for-gcc-4.6.tgz
>
> There are probably several bugs remaining. Please report them on the list.
>
> This is only announced on gcc-melt@, I will announce the 0.9rc1 plugin next week.
>
>
> If you are happy to have it build and work, please tell us (on gcc-melt@ list).
>
> If you got bugs, please also tell here.
>
> Please give it a try and tell about bugs.
>
> If you want me to add more patches to it, please do.
>
> Cheers.

On Debian Sid, I had to add -lppl_c in "melt.so" target of Makefile,
otherwise gcc was not able to load the .so.

Basile Starynkevitch

unread,
Sep 4, 2011, 8:39:27 AM9/4/11
to gcc-...@googlegroups.com, Alexandre Lissy
On Sun, 04 Sep 2011 11:56:40 +0200
Alexandre Lissy <ali...@mandriva.com> wrote:
>
> On Debian Sid, I had to add -lppl_c in "melt.so" target of Makefile,
> otherwise gcc was not able to load the .so.


Why don't you have to do so also on Mandriva? Because Mandriva configures gcc with
graphite, but perhaps Debian don't?

On my Debian Sid AMD64
% ldd $(gcc -print-file-name=cc1)
linux-vdso.so.1 => (0x00007fff17dff000)
libmpc.so.2 => /usr/lib/libmpc.so.2 (0x00007f72e09cf000)
libmpfr.so.4 => /usr/lib/x86_64-linux-gnu/libmpfr.so.4 (0x00007f72e0759000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f72e04ea000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f72e02e6000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f72e00ce000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f72dfd49000)
/lib64/ld-linux-x86-64.so.2 (0x00007f72e0be6000)

% gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-8'
--with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c+
+,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared
--enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c+
+/4.6 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --with-arch-32=i586
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.6.1
(Debian 4.6.1-8)

Cheers.

--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France

*** opinions {are only mine, sont seulement les miennes} ***

Alexandre Lissy

unread,
Sep 4, 2011, 9:03:39 AM9/4/11
to gcc-...@googlegroups.com
Le 04/09/2011 14:39, Basile Starynkevitch a �crit :

> On Sun, 04 Sep 2011 11:56:40 +0200
> Alexandre Lissy <ali...@mandriva.com> wrote:
>>
>> On Debian Sid, I had to add -lppl_c in "melt.so" target of Makefile,
>> otherwise gcc was not able to load the .so.
>
>
> Why don't you have to do so also on Mandriva? Because Mandriva configures gcc with
> graphite, but perhaps Debian don't?
No idea.

>
> On my Debian Sid AMD64
> % ldd $(gcc -print-file-name=cc1)
> linux-vdso.so.1 => (0x00007fff17dff000)
> libmpc.so.2 => /usr/lib/libmpc.so.2 (0x00007f72e09cf000)
> libmpfr.so.4 => /usr/lib/x86_64-linux-gnu/libmpfr.so.4 (0x00007f72e0759000)
> libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f72e04ea000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f72e02e6000)
> libz.so.1 => /usr/lib/libz.so.1 (0x00007f72e00ce000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f72dfd49000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f72e0be6000)

On my Cooker, I have:

$ ldd /usr/lib64/gcc/x86_64-mandriva-linux-gnu/4.6.1/plugin/melt.so
linux-vdso.so.1 => (0x00007fff01564000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4dcee38000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4dcf442000)

>
> % gcc -v
> Using built-in specs.
> COLLECT_GCC=/usr/bin/gcc
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6.1/lto-wrapper
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-8'
> --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c+
> +,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared
> --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib
> --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c+
> +/4.6 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
> --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --with-arch-32=i586
> --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
> --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.6.1
> (Debian 4.6.1-8)

Same here, but I'm building as a plugin and i386.

On Cooker/amd64:
$ gcc -v
Utilisation des specs internes.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-mandriva-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-mandriva-linux-gnu
Configur� avec: ./configure --build=x86_64-mandriva-linux-gnu
--prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
--sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include
--libdir=/usr/lib64 --libexecdir=/usr/lib64 --localstatedir=/var
--sharedstatedir=/usr/com --mandir=/usr/share/man
--infodir=/usr/share/info --x-includes=/usr/include
--x-libraries=/usr/lib64 --disable-libjava-multilib
--with-java-home=/usr/lib/jvm/java-rpmbuild
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-java-awt=gtk
--enable-gtk-cairo --with-cloog --with-ppl --enable-cloog-backend=ppl
--disable-libssp --disable-libunwind-exceptions --disable-werror
--enable-__cxa_atexit --enable-bootstrap --enable-checking=release
--enable-gnu-unique-object
--enable-languages=c,ada,c++,fortran,go,java,lto,objc,obj-c++
--enable-linker-build-id --enable-plugin --enable-shared
--enable-threads=posix --with-system-zlib
--with-bugurl=https://qa.mandriva.com/ --with-tune=generic
--with-arch_32=i686 --host=x86_64-mandriva-linux-gnu
--target=x86_64-mandriva-linux-gnu
Mod�le de thread: posix
gcc version 4.6.1 20110826 (Mandriva) (GCC)

So yes, maybe the difference is that Cooker has ppl enabled.

>
> Cheers.
>

Basile Starynkevitch

unread,
Sep 4, 2011, 9:43:24 AM9/4/11
to gcc-...@googlegroups.com, Alexandre Lissy
On Sun, 04 Sep 2011 15:03:39 +0200
Alexandre Lissy <ali...@mandriva.com> wrote:
> On my Cooker, I have:
>
> $ ldd /usr/lib64/gcc/x86_64-mandriva-linux-gnu/4.6.1/plugin/melt.so

But what about your cc1 on Cooker? Does it links ppl_c.so ?


On Debian, cc1 apparently don't link ppl.so, but it does contain some ppl symbols:
% nm -D $(gcc -print-file-name=cc1)|grep ppl_
0000000000ad9cd0 T debug_ppl_linear_expr
0000000000ad9da0 T debug_ppl_polyhedron_matrix
0000000000ad9db0 T debug_ppl_powerset_matrix
0000000000ad25b0 T new_Cloog_Domain_from_ppl_Pointset_Powerset
0000000000ad2560 T new_Cloog_Domain_from_ppl_Polyhedron
0000000000ad2120 T new_Cloog_Matrix_from_ppl_Polyhedron
0000000000ad25a0 T new_Cloog_Scattering_from_ppl_Polyhedron
0000000000ad9fd0 T ppl_build_relation
0000000000ad9690 T ppl_insert_dimensions
0000000000ad95d0 T ppl_insert_dimensions_pointset
0000000000ad9ae0 T ppl_lexico_compare_linear_expressions
0000000000ad9e10 T ppl_max_for_le_pointset
0000000000ad9ef0 T ppl_min_for_le_pointset
0000000000ada180 T ppl_powerset_is_empty
0000000000ad9c60 T ppl_print_linear_expr
0000000000ad9c10 T ppl_print_polyhedron_matrix
0000000000ad9ce0 T ppl_print_powerset_matrix
0000000000ad9dc0 T ppl_read_polyhedron_matrix
0000000000ad9500 T ppl_set_coef_gmp
0000000000ad9450 T ppl_set_inhomogeneous_gmp
0000000000ad9750 T ppl_strip_loop

% ldd $(gcc -print-file-name=cc1)
linux-vdso.so.1 => (0x00007fffeddb1000)
libmpc.so.2 => /usr/lib/libmpc.so.2 (0x00007fbd8e486000)
libmpfr.so.4 => /usr/lib/x86_64-linux-gnu/libmpfr.so.4 (0x00007fbd8e210000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fbd8dfa1000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbd8dd9d000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007fbd8db85000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbd8d800000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbd8e69d000)

Alexandre Lissy

unread,
Sep 4, 2011, 10:41:11 AM9/4/11
to gcc-...@googlegroups.com
Le 04/09/2011 15:43, Basile Starynkevitch a �crit :
I have a lot more symbols, but I think all extra I have are U, not T.

>
> % ldd $(gcc -print-file-name=cc1)
> linux-vdso.so.1 => (0x00007fffeddb1000)
> libmpc.so.2 => /usr/lib/libmpc.so.2 (0x00007fbd8e486000)
> libmpfr.so.4 => /usr/lib/x86_64-linux-gnu/libmpfr.so.4 (0x00007fbd8e210000)
> libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fbd8dfa1000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbd8dd9d000)
> libz.so.1 => /usr/lib/libz.so.1 (0x00007fbd8db85000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbd8d800000)
> /lib64/ld-linux-x86-64.so.2 (0x00007fbd8e69d000)

cc1 in Cooker is linked against ppl_c:
$ ldd $(gcc -print-file-name=cc1)
linux-vdso.so.1 => (0x00007fff196bd000)
libcloog-ppl.so.1 => /usr/lib64/libcloog-ppl.so.1 (0x00007f0c6975e000)
libppl_c.so.4 => /usr/lib64/libppl_c.so.4 (0x00007f0c69169000)
libppl.so.9 => /usr/lib64/libppl.so.9 (0x00007f0c68e78000)
libpwl.so.5 => /usr/lib64/libpwl.so.5 (0x00007f0c68c73000)
libgmpxx.so.4 => /usr/lib64/libgmpxx.so.4 (0x00007f0c68a6e000)
libmpc.so.2 => /usr/lib64/libmpc.so.2 (0x00007f0c68858000)
libmpfr.so.4 => /usr/lib64/libmpfr.so.4 (0x00007f0c68601000)
libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f0c68393000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0c6818e000)
libz.so.1 => /lib64/libz.so.1 (0x00007f0c67f75000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0c67bda000)
libstdc++.so.6 => /usr/lib64/../lib64/libstdc++.so.6 (0x00007f0c678d5000)
libm.so.6 => /lib64/libm.so.6 (0x00007f0c67653000)
libgcc_s.so.1 => /usr/lib64/../lib64/libgcc_s.so.1 (0x00007f0c6743e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0c699ae000)

>
> Cheers.
>

Allan McRae

unread,
Sep 4, 2011, 11:55:56 PM9/4/11
to gcc-...@googlegroups.com
On 02/09/11 23:32, Basile Starynkevitch wrote:
> Hello All
>
>
> I am pre-releasing MELT 0.9rc0 plugin. You can download it from
> http://gcc-melt.org/melt-0.9rc0-plugin-for-gcc-4.6.tgz
>
> There are probably several bugs remaining. Please report them on the list.
>
> This is only announced on gcc-melt@, I will announce the 0.9rc1 plugin next week.
>
>
> If you are happy to have it build and work, please tell us (on gcc-melt@ list).
>
> If you got bugs, please also tell here.
>
> Please give it a try and tell about bugs.
>
> If you want me to add more patches to it, please do.
>
> Cheers.


I had no issues building this or running a very basic test on Arch Linux
(i686 and x86_64).


Minor comment: it appears the docs are built by default with "make" but
not installed with "make install", so is a bit inconsistent.

Allan

Reply all
Reply to author
Forward
0 new messages