FS#19278 - Plugin support missing in gcc 4.5

Attached to Project: Arch Linux
Opened by Raghavendra D Prabhu (rprabhu) - Wednesday, 28 April 2010, 14:35 GMT
Last edited by Allan McRae (Allan) - Wednesday, 28 April 2010, 15:08 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Allan McRae (Allan)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

gcc needs to be built with plugin support. Ability to use plugins to tune several stages of compilation was introduced in gcc 4.5. But it is not built into gcc 4.5 available in the repo. Example of plugins include DragonEgg(http://dragonegg.llvm.org/) and other llvm plugins.

To enable it --enable-plugin must be used while building gcc.

Additional info:
Package version: 4.5.0-1

uname -a
Linux Supernova 2.6.33-zen2-TINT #1 ZEN SMP PREEMPT Fri Apr 9 22:48:27 IST 2010 x86_64 AMD Turion(tm) 64 X2 AuthenticAMD GNU/Linux

gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-lto --enable-gnu-unique-object --disable-multilib --disable-libstdcxx-pch --with-system-zlib --with-ppl --with-cloog --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info
Thread model: posix
gcc version 4.5.0 (GCC)
This task depends upon

Closed by  Allan McRae (Allan)
Wednesday, 28 April 2010, 15:08 GMT
Reason for closing:  Not a bug
Additional comments about closing:  --enable-plugin is the default
Comment by Allan McRae (Allan) - Wednesday, 28 April 2010, 14:43 GMT
I was sure I had added it... I will do a rebuild soon to add it.

You will not be able to use the DragonEgg plugin anyway as to requires a patch to gcc which upstream will not accept so I will not including in our package.
Comment by Raghavendra D Prabhu (rprabhu) - Wednesday, 28 April 2010, 14:52 GMT
Thanks for the response. gcc -v does not mention any plugin feature but gcc -fplugin does not give any errors (may be it is enabled by default?). So I am not sure whether it is enabled or not.

I thought the patch for DragonEgg was to include it in gcc. Since dragonegg is a plugin I thought I could specify -fplugin=dragonegg.so ...

Comment by Allan McRae (Allan) - Wednesday, 28 April 2010, 14:58 GMT
DragonEgg does not build without patching gcc because it deviates from supported plugin hooks.
Comment by Allan McRae (Allan) - Wednesday, 28 April 2010, 15:08 GMT
--enable-plugin is default on hosts that support it (obviously including Linux). I will add the option explicitly next build but there is nothing to be done at the moment.

Loading...