This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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]

[Bug java/17265] [3.5 Regression] Libjava doesn't build


------- Additional Comments From ebotcazou at gcc dot gnu dot org  2004-09-12 08:42 -------
> ... sounds like ASM_OUTPUT_DEF isn't working correctly with the solaris
> assembler. Please try --save-temps and post the .s output.

You correctly guessed, it's related to ASM_OUTPUT_DEF and aliases.

> My guess is that Solaris needs to be fixed to not define ASM_OUTPUT_DEF if the
> assembler doesn't support it.

The Solaris assembler does support equates (hey! it is not that primitive :-)
but the equated symbol must be defined somewhere in the file. Here we have both

.LL_ZN4java4lang5Class23getDeclaredConstructorsEv13 =
_ZN4java4lang5Class23getDeclaredConstructorsEv

which assembles fine because the second symbol is defined as

	.global _ZN4java4lang5Class23getDeclaredConstructorsEv
	.type	_ZN4java4lang5Class23getDeclaredConstructorsEv, #function
	.proc	0110
_ZN4java4lang5Class23getDeclaredConstructorsEv:

and

.LL_ZN4java4lang5Class17getDeclaringClassEv20 =
_ZN4java4lang5Class17getDeclaringClassEv

which doesn't because the second symbol is not defined in the file.


I can think of two explanations:
- the aliased method should have been defined in the assembly file but for some
reason it would not have been used, so the compiler decided to not emit it
altogether,
- the new code in class.c is somehow abusing the notion of "alias" as it
attempts to contruct a local alias of an external function.

In the first case, the fix could be to defer the call to assemble_alias until
after we know that the method will be emitted; in the second case, the fix could
be to add yet another target macro and to guard the new code with it.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW
   Last reconfirmed|2004-09-01 18:59:04         |2004-09-12 08:42:26
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17265


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