Launchpad has imported 9 comments from the remote bug at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39175.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2009-02-13T09:21:55+00:00 Jakub-gcc wrote:

/* { dg-options "-O2 -m32 -fvisibility=hidden -msecure-plt -fpic" } */

__attribute__((noinline)) int
foo (int x)
{
  return x;
}

int foo (int x);

int
bar (int x)
{
  return foo (x);
}

ICEs on the
  if (DEFAULT_ABI == ABI_V4 && flag_pic)
    {
      gcc_assert (!TARGET_SECURE_PLT);
      return \"b %z1@plt\";
    }
  else
    return \"b %z1\";
assertion in sibcall_value_nonlocal_sysv.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/0

------------------------------------------------------------------------
On 2009-02-13T10:36:19+00:00 Jakub-gcc wrote:

The problem is in the redundant prototype after function.
First the foo FUNCTION_DECL is created, afterwards finish_function calls 
c_determine_visibility on it which changes its visibility from default to 
hidden.
After this make_decl_rtl is called, determines the function binds locally and 
sets SYMBOL_FLAG_LOCAL|SYMBOL_FLAG_FUNCTION.  Then merge_decls is called, which 
in turn clears visibility (sets it back to default) and calls make_decl_rtl to 
update the flags.  At this point targetm.binds_local_p returns false, as it at 
that point has default visibility, so changes DECL_RTL's flags to 
SYMBOL_FLAG_FUNCTION alone.  Then finish_decl calls c_determine_visibility 
again and sets it back to hidden visibility.  But nothing afterwards calls 
make_decl_rtl again to update the symbol flags again.

To fix this, IMHO either c_determine_visibility and C++ determine_visibility
need to
if (((TREE_CODE (decl) == VAR_DECL && TREE_STATIC (decl))
     || TREE_CODE (decl) == FUNCTION_DECL)
    && DECL_RTL_SET_P (decl))
  make_decl_rtl (decl);
if it changed the visibility, or merge_decls/duplicate_decls would need to 
determine visibility.  I'll try the former.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/1

------------------------------------------------------------------------
On 2009-02-13T11:33:09+00:00 Jakub-gcc wrote:

Created attachment 17292
gcc44-pr39175.patch

Patch I'm going to bootstrap/regtest.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/2

------------------------------------------------------------------------
On 2009-02-13T12:44:46+00:00 Rguenth wrote:

This also ICEs on the 4.3 branch.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/3

------------------------------------------------------------------------
On 2009-02-19T21:15:25+00:00 Jakub-gcc wrote:

Subject: Bug 39175

Author: jakub
Date: Thu Feb 19 21:15:12 2009
New Revision: 144305

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144305
Log:
        PR target/39175
        * c-common.c (c_determine_visibility): If visibility changed and
        DECL_RTL has been already set, call make_decl_rtl to update symbol
        flags.

        * decl2.c (determine_visibility): If visibility changed and
        DECL_RTL has been already set, call make_decl_rtl to update symbol
        flags.

        * gcc.dg/visibility-20.c: New test.
        * g++.dg/ext/visibility/visibility-11.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/ext/visibility/visibility-11.C
    trunk/gcc/testsuite/gcc.dg/visibility-20.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-common.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/decl2.c
    trunk/gcc/testsuite/ChangeLog


Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/4

------------------------------------------------------------------------
On 2009-02-19T21:16:48+00:00 Jakub-gcc wrote:

Fixed on the trunk so far.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/5

------------------------------------------------------------------------
On 2009-03-15T09:47:34+00:00 Matthias Klose wrote:

*** Bug 39461 has been marked as a duplicate of this bug. ***

Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/13

------------------------------------------------------------------------
On 2009-03-25T22:05:21+00:00 Bje-0 wrote:

Subject: Bug 39175

Author: bje
Date: Wed Mar 25 22:05:08 2009
New Revision: 145076

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145076
Log:
        Backport from mainline:
        2009-02-19  Jakub Jelinek  <ja...@redhat.com>

        PR target/39175
        * c-common.c (c_determine_visibility): If visibility changed and
        DECL_RTL has been already set, call make_decl_rtl to update symbol
        flags.

cp/
        * decl2.c (determine_visibility): If visibility changed and
        DECL_RTL has been already set, call make_decl_rtl to update symbol
        flags.

testsuite/
        * gcc.dg/visibility-20.c: New test.
        * g++.dg/ext/visibility/visibility-11.C: New test.

Added:
    branches/gcc-4_3-branch/gcc/testsuite/g++.dg/ext/visibility/visibility-11.C
    branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/visibility-20.c
Modified:
    branches/gcc-4_3-branch/gcc/ChangeLog
    branches/gcc-4_3-branch/gcc/c-common.c
    branches/gcc-4_3-branch/gcc/cp/ChangeLog
    branches/gcc-4_3-branch/gcc/cp/decl2.c
    branches/gcc-4_3-branch/gcc/testsuite/ChangeLog


Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/15

------------------------------------------------------------------------
On 2009-03-25T22:06:49+00:00 Bje-0 wrote:

Now fixed on the 4.3 branch and on mainline.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/gcc-4.3/+bug/342335/comments/16

-- 
You received this bug notification because you are a member of Kubuntu
Bugs, which is subscribed to qt4-x11 in Ubuntu.
https://bugs.launchpad.net/bugs/342335

Title:
  [PR39461] ICE compiling qt4-x11 on powerpc

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/342335/+subscriptions


-- 
kubuntu-bugs mailing list
kubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kubuntu-bugs

Reply via email to