Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] ocamlopt generates binaries with executable stacks

0 views
Skip to first unread message

Richard Jones

unread,
Jun 9, 2008, 1:56:31 PM6/9/08
to caml...@inria.fr
I posted a patch which should fix the issue that ocamlopt generates
binaries with executable stacks:

http://caml.inria.fr/mantis/view.php?id=4564

Previously discussed on the list here:

http://caml.inria.fr/pub/ml-archives/caml-list/2006/11/2678e935e05e0298cc2e5352b966c262.en.html

However this patch affects every assembly target, far more than I
could possibly test. Could people using OCaml on non-Linux platforms
have a look at the patch, or even test it for me?

Thanks,

Rich.

--
Richard Jones
Red Hat

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Xavier Leroy

unread,
Jun 16, 2008, 9:00:02 AM6/16/08
to Richard Jones, caml...@inria.fr
> I posted a patch which should fix the issue that ocamlopt generates
> binaries with executable stacks:
>
> http://caml.inria.fr/mantis/view.php?id=4564
>
> However this patch affects every assembly target, far more than I
> could possibly test. Could people using OCaml on non-Linux platforms
> have a look at the patch, or even test it for me?

I'm pretty sure this patch is Linux-specific. My fear is that it
might be specific to particular versions of binutils and/or particular
Linux distributions... I smell a portability nightmare!

Note that in 3.11, the "configure" script will have options to specify
how to call the assembler (for ocamlopt-generated assembly code and
for the hand-written asm files in the runtime system). So it might be
sufficient to configure the Gentoo packages with e.g.

configure -as "as --noexecstack" -aspp "gcc -c -Wa,--noexecstack"

This could be one of the rare cases where addressing the issue at the
level of the packages is safer than by changing the source distribution.

- Xavier Leroy

Richard Jones

unread,
Sep 18, 2008, 3:54:09 AM9/18/08
to Xavier Leroy, caml...@inria.fr
On Mon, Jun 16, 2008 at 02:59:55PM +0200, Xavier Leroy wrote:
> Note that in 3.11, the "configure" script will have options to specify
> how to call the assembler (for ocamlopt-generated assembly code and
> for the hand-written asm files in the runtime system). So it might be
> sufficient to configure the Gentoo packages with e.g.
>
> configure -as "as --noexecstack" -aspp "gcc -c -Wa,--noexecstack"
>
> This could be one of the rare cases where addressing the issue at the
> level of the packages is safer than by changing the source distribution.

Fair enough. I'll check this out and get back if it doesn't work.

Rich.

--
Richard Jones
Red Hat

_______________________________________________

Xavier Leroy

unread,
Sep 18, 2008, 12:59:23 PM9/18/08
to Richard Jones, caml...@inria.fr
>> Note that in 3.11, the "configure" script will have options to specify
>> how to call the assembler (for ocamlopt-generated assembly code and
>> for the hand-written asm files in the runtime system). So it might be
>> sufficient to configure the Gentoo packages with e.g.
>>
>> configure -as "as --noexecstack" -aspp "gcc -c -Wa,--noexecstack"
>>
>> This could be one of the rare cases where addressing the issue at the
>> level of the packages is safer than by changing the source distribution.
>
> Fair enough. I'll check this out and get back if it doesn't work.

For the record, in the working sources that will be released as 3.11,
I added the "no exec note" in assembly files for Linux/x86 and
Linux/AMD64, but no other platforms so far because I can't test on
them. If someone with access to other Linux platforms is willing to
experiment and confirm that it works, let me know. This said, the
configure trick above might do the job just as well.

- Xavier Leroy

0 new messages