This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: [4.1 Regression]: java compiler generates wrong code on ia64


On Sun, Apr 17, 2005 at 12:21:19PM -0700, Mark Mitchell wrote:
> H. J. Lu wrote:
> >Linkonce and weak functions are never local. 
> 
> > /* Only create aliases for local functions.  */
> >-  if (DECL_EXTERNAL (method))
> 
> If this code is testing for whether a function has internal linkage, 
> then the conditional should be "if (!TREE_PUBLIC (method))".  Your patch 
> is certainly not correct.
> 

If I use "if (!TREE_PUBLIC (method))", I got

/net/gnu-9/export/gnu/src/gcc-next/gcc/libjava/java/util/logging/Logger.java:68: error: ‘*.L_ZN4java4util7logging6Logger19getCallerStackFrameEv49()’ aliased to external symbol ‘
/net/gnu-9/export/gnu/src/gcc-next/gcc/libjava/java/util/logging/Logger.java:68: confused by earlier errors, bailing out

make_local_function_alias is introduced in

http://gcc.gnu.org/ml/java-patches/2004-q3/msg00618.html

Is there a testcase to show it is really needed? I'd like to run it
on ia32, x86_64 and ia64 to verify its usage.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]