diff options
author | https://me.yahoo.com/a/g3Ccalpj0NhN566pHbUl6i9QF0QEkrhlfPM-#b1c14 <diana@web> | 2015-02-16 20:08:03 +0100 |
---|---|---|
committer | GNU Hurd web pages engine <web-hurd@gnu.org> | 2015-02-16 20:08:03 +0100 |
commit | 95878586ec7611791f4001a4ee17abf943fae3c1 (patch) | |
tree | 847cf658ab3c3208a296202194b16a6550b243cf /open_issues/gnat.mdwn | |
parent | 8063426bf7848411b0ef3626d57be8cb4826715e (diff) | |
download | web-95878586ec7611791f4001a4ee17abf943fae3c1.tar.gz web-95878586ec7611791f4001a4ee17abf943fae3c1.tar.bz2 web-95878586ec7611791f4001a4ee17abf943fae3c1.zip |
rename open_issues.mdwn to service_solahart_jakarta_selatan__082122541663.mdwn
Diffstat (limited to 'open_issues/gnat.mdwn')
-rw-r--r-- | open_issues/gnat.mdwn | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/open_issues/gnat.mdwn b/open_issues/gnat.mdwn deleted file mode 100644 index 84e8f60b..00000000 --- a/open_issues/gnat.mdwn +++ /dev/null @@ -1,167 +0,0 @@ -[[!meta copyright="Copyright © 2011, 2012, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!meta title="Enable Ada programming (GCC: GNAT)"]] - -[[!tag open_issue_gcc]] - -Make the Ada programming language available on GNU/Hurd in its [[GCC]] GNAT -implementation, and enable Hurd-specific features. - -There is a [[!FF_project 259]][[!tag bounty]] on this task. - ---- - - -# Part I - -First, make the language functional, have its test suite pass without errors. - - -## Original [[community/GSoC]] Task Description - -[[!inline pages=community/gsoc/project_ideas/gnat feeds=no]] - - -## Debian GCC - -There has a patch been added for GNU/kFreeBSD: -`bfe081336914729fc0180c07ab4afa41965100f2`, `git-svn-id: -svn://svn.debian.org/gcccvs/branches/sid@5638 -6ca36cf4-e1d1-0310-8c6f-e303bb2178ca' - - -## IRC, freenode, #hurd, 2012-07-17 - - <gnu_srs> I've found the remaining problem with gnat backtrace for Hurd! - Related to the stack frame. - <gnu_srs> This version does not work: one relying on static assumptions - about the frame layout - <gnu_srs> Causing segfaults. - <gnu_srs> Any interest to create a test case out of that piece of code, - taken from gcc/ada/tracebak.c? - <braunr> gnu_srs: sure - - -### IRC, freenode, #hurd, 2012-07-18 - - <braunr> "Digging further revealed that the GNU/Hurd stack frame does not - seem to - <braunr> be static enough to define USE_GENERIC_UNWINDER in - gcc/ada/tracebak.c. - <braunr> " - <braunr> what do you mean by a "stack frame does not seem to be static - enough" ? - <gnu_srs> I can qoute from the source file if you want. Otherwise look at - the code yourself: gcc/ada/tracebak,c - <gnu_srs> I mean that something is wrong with the stack frame for - Hurd. This is the code I wanted to use as a test case for the stack. - <gnu_srs> Remember? - <braunr> more or less - <braunr> ah, "static assumptions" - <braunr> all right, i don't think anything is "wrong" with stack frames - <braunr> but if you use a recent version of gcc, as indicated in the code, - -fomit-frame-pointer is enabled by default - <braunr> so your stack frame won't look like it used to be without the - option - <braunr> hence the need for USE_GCC_UNWINDER - <braunr> http://en.wikipedia.org/wiki/Call_stack explains this very well - <gnu_srs> However, kfreebsd does not seem to need USE_GCC_UNWINDER, how - come? - <braunr> i guess they don't omit the frame pointer - <braunr> your fix is good btw - <gnu_srs> thanks - - -### IRC, freenode, #hurd, 2012-07-19 - - <gnu_srs> tschwinge: The bug in #681998 should go upstream. Applied in - Debian already. Hopefully this is the last patch needed for the port of - GNAT to Hurd. - - -## Svante's patch - -A basic port has been done by Svante, [[!debbug 668425]], [[!debbug 681998]], -[[!message-id "1333104917.2962.439.camel@s1499.it.kth.se"]], but there's still -lots of work remaining. -The port is not yet upstream: the maintainer raised some concerns that -[[I|tschwinge]] have not yet found the time to follow up on, [[!message-id -"1339857758-5032-1-git-send-email-thomas@codesourcery.com"]]. -While the test -results of the GCC/GNAT testsuite don't look bad (but there are a few -unresolved issues, and the testsuite appears to be a rather small one), I don't -know if the port has yet seen any real-world usage, such as using it for any -bigger Ada code bases, or any Ada testsuites. - - -## `getcontext`/`makecontext`/`setcontext`/`swapcontext` usage analysis - -In context of [[glibc/t/tls-threadvar]]. Looking at GCC trunk commit -f6568ea476aa52a6e23c6db43b3e240cde55783a (2013-04-26). - - gcc/ada/init.c: sigaltstack (&stack, NULL); - gcc/ada/init.c: sigaltstack (&stack, NULL); - gcc/ada/init.c: sigaltstack (&stack, NULL); - gcc/ada/s-osinte-aix.ads: function sigaltstack - gcc/ada/s-osinte-aix.ads: pragma Import (C, sigaltstack, "sigaltstack"); - gcc/ada/s-osinte-android.ads: function sigaltstack - gcc/ada/s-osinte-android.ads: pragma Import (C, sigaltstack, "sigaltstack"); - gcc/ada/s-osinte-darwin.ads: function sigaltstack - gcc/ada/s-osinte-darwin.ads: pragma Import (C, sigaltstack, "sigaltstack"); - gcc/ada/s-osinte-freebsd.ads: function sigaltstack - gcc/ada/s-osinte-freebsd.ads: pragma Import (C, sigaltstack, "sigaltstack"); - gcc/ada/s-osinte-hpux.ads: function sigaltstack - gcc/ada/s-osinte-hpux.ads: pragma Import (C, sigaltstack, "sigaltstack"); - gcc/ada/s-osinte-kfreebsd-gnu.ads: function sigaltstack - gcc/ada/s-osinte-kfreebsd-gnu.ads: pragma Import (C, sigaltstack, "sigaltstack"); - gcc/ada/s-osinte-linux.ads: function sigaltstack - gcc/ada/s-osinte-linux.ads: pragma Import (C, sigaltstack, "sigaltstack"); - gcc/ada/s-osinte-rtems.adb: -- sigaltstack -- - gcc/ada/s-osinte-rtems.adb: function sigaltstack - gcc/ada/s-osinte-rtems.adb: end sigaltstack; - gcc/ada/s-osinte-rtems.ads: function sigaltstack - gcc/ada/s-osinte-solaris-posix.ads: function sigaltstack - gcc/ada/s-osinte-solaris-posix.ads: pragma Import (C, sigaltstack, "sigaltstack"); - gcc/ada/s-taprop-linux.adb: Result := sigaltstack (Stack'Access, null); - gcc/ada/s-taprop-posix.adb: Result := sigaltstack (Stack'Access, null); - gcc/ada/init.c: stack.ss_sp = __gnat_alternate_stack; - gcc/ada/init.c: stack.ss_sp = __gnat_alternate_stack; - gcc/ada/init.c: stack.ss_sp = __gnat_alternate_stack; - gcc/ada/s-osinte-aix.ads: ss_sp : System.Address; - gcc/ada/s-osinte-android.ads: ss_sp : System.Address; - gcc/ada/s-osinte-darwin.ads: ss_sp : System.Address; - gcc/ada/s-osinte-darwin.ads: uc_stack : stack_t; -- Stack Used By This Context - gcc/ada/s-osinte-freebsd.ads: ss_sp : System.Address; - gcc/ada/s-osinte-hpux.ads: ss_sp : System.Address; - gcc/ada/s-osinte-kfreebsd-gnu.ads: ss_sp : System.Address; - gcc/ada/s-osinte-linux.ads: ss_sp : System.Address; - gcc/ada/s-osinte-rtems.ads: ss_sp : System.Address; - gcc/ada/s-osinte-solaris-posix.ads: ss_sp : System.Address; - gcc/ada/s-osinte-solaris.ads: ss_sp : System.Address; - gcc/ada/s-osinte-solaris.ads: uc_stack : record_type_2; - gcc/ada/s-taprop-linux.adb: Stack.ss_sp := Self_ID.Common.Task_Alternate_Stack; - gcc/ada/s-taprop-posix.adb: Stack.ss_sp := Self_ID.Common.Task_Alternate_Stack; - - ---- - - -# Part II - -Next, Hurd-specific features can be added. Add an interface to the -language/environment for being able to do [[RPC]] calls, in order to program -[[hurd/translator]]s natively in Ada. - - -## Original [[community/GSoC]] Task Description - -[[!inline pages=community/gsoc/project_ideas/language_bindings feeds=no]] |