Re: [patch] Fix oddity in personality routine

Andrew Haley <[email protected]>
Newsgroups gmane.comp.gcc.java.devel
Message-ID <[email protected]>
Jack Howarth wrote:
> On Thu, Dec 03, 2009 at 10:25:30AM +0000, Andrew Haley wrote:
>> Jack Howarth wrote:
>>> On Wed, Dec 02, 2009 at 09:34:33AM +0000, Andrew Haley wrote:
>>>> Jack Howarth wrote:
>>>>> On Tue, Dec 01, 2009 at 05:24:29PM +0000, Andrew Haley wrote:
>>>>>> Jack Howarth wrote:
>>>>>>> On Tue, Dec 01, 2009 at 09:29:36AM +0000, Andrew Haley wrote:

>>>
>>> What do you make of the bad assembly at 0x103f05dd1?
>> There is no bad assembly: there's a jump at 0x103f05dc5.
>>
>> I know what's going on.
>>
>> The OS forbids execution of memory in the heap.  But, there is an extra
>> flag, -Wl,-allow_stack_execute, that allows this permission.  This is
>> a misnamed flag, since we never execute code on the stack.  I think it's
>> really controlling heap execution, not stack execution.
>>
>> We need to pass this flag everywhere, whenever a program is compiled by
>> gcj.
>>
>> Andrew.
> 
> Andrew,
>    This sounds like the patch that Andreas proposed in...
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c3
> 
> which didn't solve the problem on my MacPro or MacBook Pro
> under darwin9 or darwin10. He also ran into the issue again
> later...
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41991#c17
> 
> Do you think that  -Wl,-allow_stack_execute needs to be passed
> even more widely than on just ecjx_LDFLAGS? Any suggestions as
> to where I should be passing it? Perhaps on something like
> LIBJAVA_LDFLAGS_NOUNDEF at the toplevel of libjava? Or should
> we even be building libffi and boehm-gc with that as well?

I don't see =-Wl,-allow_stack_execute passed to anything except
when linking gij.  That's why IMO gij works but nothing else does.

This needs to be everywhere, for all programs.  I think SYSTEMSPEC
would do it, or add a new linker configure variable.

Andrew.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.