This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/46902] [4.6 Regression] gcc.dg/plugin/plugindir*.c gives ICEs on powerpc-apple-darwin9
- From: "iains at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 13 Dec 2010 19:09:36 +0000
- Subject: [Bug c/46902] [4.6 Regression] gcc.dg/plugin/plugindir*.c gives ICEs on powerpc-apple-darwin9
- Auto-submitted: auto-generated
- References: <bug-46902-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46902
Iain Sandoe <iains at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2010.12.13 19:09:16
Ever Confirmed|0 |1
--- Comment #7 from Iain Sandoe <iains at gcc dot gnu.org> 2010-12-13 19:09:16 UTC ---
c/l:
./gcc/xgcc -Bgcc /GCC/gcc-live-trunk/gcc/testsuite/gcc.dg/plugin/plugindir1.c
-c -fplugin=foo -S -m32 -o plugindir1.s
(gdb) bt
#0 0x9757f928 in strlen ()
#1 0x00eff460 in vconcat_length (first=0xffffffff <Address 0xffffffff out of
bounds>, args=0xbfffef8c "") at /GCC/gcc-live-trunk/libiberty/concat.c:76
#2 0x00eff6a4 in concat (first=0xffffffff <Address 0xffffffff out of bounds>)
at /GCC/gcc-live-trunk/libiberty/concat.c:159
#3 0x00885274 in add_new_plugin (plugin_name=0xbffff3b6 "foo") at
/GCC/gcc-live-trunk/gcc/plugin.c:157
#4 0x00879444 in handle_common_deferred_options () at
/GCC/gcc-live-trunk/gcc/opts-global.c:385
#5 0x009e83d4 in toplev_main (argc=20, argv=0xbffff140) at
/GCC/gcc-live-trunk/gcc/toplev.c:1923
#6 0x00142760 in main (argc=20, argv=0xbffff140) at
/GCC/gcc-live-trunk/gcc/main.c:36
the code for plugin.c: around line 157:
152 base_name = CONST_CAST (char*, plugin_name);
153 /* FIXME: the ".so" suffix is currently builtin, since plugins
154 only work on ELF host systems like e.g. Linux or Solaris.
155 When plugins shall be available on non ELF systems such as
156 Windows or MacOS, this code has to be greatly improved. */
157 plugin_name = concat (default_plugin_dir_name (), "/",
158 plugin_name, ".so", NULL);
159 if (access (plugin_name, R_OK))
160 fatal_error
161 ("inacessible plugin file %s expanded from short plugin name
%s: %m",
so we probably need to improve the robustness...
out of time for now ..