[Bug ada/29262] Adding tasking support for arm-linux

2006-10-08 Thread belandor at web dot de


--- Comment #6 from belandor at web dot de  2006-10-09 04:13 ---
(In reply to comment #5)
> Hi,
> 
> s-osinte.ads 
> This might need a bit more work, some structure size and such might not be
> identical between versions. You should look at the s-osinte-linux-alpha.ads 
> and
> s-osinte-linux-hppa.ads diffs with s-osinte-linux.ads to get an idea of what
> kind of changes could be needed.
> 
> Hope this helps.
> 

... well, I can see differences, but is there any definite way of finding out,
how the C structures actually look like? Do I have to hunt this up in the glibc
source code?

(the signal values should be easily obtainable with a little C program - but
the other stuff?)


-- 


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



[Bug ada/29262] Adding tasking support for arm-linux

2006-09-27 Thread belandor at web dot de


--- Comment #4 from belandor at web dot de  2006-09-28 06:51 ---
...running the above programs give me the following errors/messages:

[EMAIL PROTECTED]:/testprogs/glibc# ./simple_tasking
Alignment trap: simple_tasking (1099) PC=0xa670 Instr=0xe5933000
Address=0x0001 FSR 0x0f3

raised STORAGE_ERROR : s-intman.adb:158 explicit raise
[EMAIL PROTECTED]:/testprogs/glibc#
[EMAIL PROTECTED]:/testprogs/glibc#
[EMAIL PROTECTED]:/testprogs/glibc# ls
hello   hello_threaded  hello_world simple_tasking
[EMAIL PROTECTED]:/testprogs/glibc# ./hello_world
Hello World

so it seems, there's something fishy for the tasking setup - any good idea to
trace this up? (I don't have a debugger at hand *grrr*)


-- 


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



[Bug ada/29262] Adding tasking support for arm-linux

2006-09-27 Thread belandor at web dot de


--- Comment #3 from belandor at web dot de  2006-09-28 06:49 ---
Created an attachment (id=12347)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12347&action=view)
simple_tasking source code


-- 


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



[Bug ada/29262] Adding tasking support for arm-linux

2006-09-27 Thread belandor at web dot de


--- Comment #2 from belandor at web dot de  2006-09-28 06:49 ---
Created an attachment (id=12346)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12346&action=view)
hello world source code


-- 


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



[Bug ada/29262] Adding tasking support for arm-linux

2006-09-27 Thread belandor at web dot de


--- Comment #1 from belandor at web dot de  2006-09-28 06:37 ---
(In reply to comment #0)
actually, the Makefile.in needs modifications.
a-numaux-x86.ads does not work for arm (error-message is that only 15 digits
are allowed for floating point type), therefore the line 

+  a-numaux.adshttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=29262



[Bug ada/29262] New: Adding tasking support for arm-linux

2006-09-27 Thread belandor at web dot de
I would like to use tasking support for GNAT on an arm-linux target (Intel
XSCale PXA 270) to the gcc-4_1-branch

The installed runtime library however is using generic dummy package for
tasking support (e.g. s-taprop.ads).
After having a look at gcc/ada/Makefile.in, I figured there needs to be a
couple of changes:

1. need for system-linux-arm.ads - which can be identical to
system-linux-x86.ads

2. The Makefile.in needs to be changed as follows:
(g-soccon is not in my focus, so I just kicked it out for now)
(a-numaux is using the libc bindings)
(all the rest of this section is from the x86-linux part)

Index: Makefile.in
===
--- Makefile.in (revision 117213)
+++ Makefile.in (working copy)
@@ -539,6 +539,33 @@
   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o
 endif

+ifeq ($(strip $(filter-out arm linux%,$(arch) $(osys))),)
+  LIBGNAT_TARGET_PAIRS = \
+  a-intnam.adshttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=29262



[Bug ada/29157] gnattools fail on cross compilation - Makefile bug?

2006-09-20 Thread belandor at web dot de


--- Comment #4 from belandor at web dot de  2006-09-21 04:33 ---
okay, aparently something had set the environment options

ADA_INCLUDE_PATH and
ADA_OBJECT_PATH

to the additional paths. That would explain, why stuff went haywire. Is there
any place to document this? - Maybe someone else might stumble over this, too.

(Along the lines of: when compiling GNAT, make sure that gnatls -v only gives
one path as output, if not, check the above mentioned environment vars)


-- 


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



[Bug ada/29157] gnattools fail on cross compilation - Makefile bug?

2006-09-20 Thread belandor at web dot de


--- Comment #3 from belandor at web dot de  2006-09-21 03:59 ---
my configure line:

CC="gcc" /home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/configure \
--prefix=/home/ap/colibri/buildroot/build_arm/staging_dir \
--build=i386-pc-linux-gnu \
--host=i386-pc-linux-gnu \
--target=arm-linux-uclibcgnueabi \
--enable-languages=c,ada \
--enable-shared \
--disable-__cxa_atexit \
--enable-target-optspace \
--with-gnu-ld \
--disable-nls \
--enable-threads \
--disable-multilib


-- 


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



[Bug ada/29157] gnattools fail on cross compilation - Makefile bug?

2006-09-20 Thread belandor at web dot de


--- Comment #2 from belandor at web dot de  2006-09-21 03:57 ---
it seems, that my RTS_DIR variable is wrong.
the Makefile ($BUILDDIR/gnattools/Makefile) extracts or adapts the directory
using

RTS_DIR:=$(strip $(subst \,/,$(shell gnatls -v | grep adalib )))

right before the rule for gnattools-cross: (line 229)

However,
"gnatls -v | grep adalib" on my machine returns 3 paths, which somehow end up
unprocessed in RTS_DIR.

   /usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/
   /usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/
   /home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/

I just replaced the RTS_DIR := by the fixed value of /home/ap/... - This
allowed compilation to finish.


-- 


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



[Bug ada/29157] New: gnattools fail on cross compilation - Makefile bug?

2006-09-20 Thread belandor at web dot de
I'm trying to build a cross-ada compiler (using different toolchains) with
gcc-4.1.1 or gcc-4.2.0-20060919.

In both cases, when building the last stage, the make process fails building
gnattools (i.e. gnattools-cross).

Error message:
make -C ../gcc/ada/tools -f ../Makefile \
  "CC=gcc" "CFLAGS=-g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes " "LDFLAGS=" "ADAFLAGS=-gnatpg -gnata" "INCLUDES=-I. -I..
-I../.. -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada
-I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada/../config
-I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada/../../include
-I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada/.."
"ADA_INCLUDES=-I/usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/
/usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/
/home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/../adainclude
-I/usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/
/usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/
/home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/
-I. -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada"
"exeext="
"fsrcdir=/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada"
"srcdir=/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada"
"GNATMAKE=gnatmake" "GNATLINK=gnatlink" "GNATBIND=gnatbind" "TOOLSCASE=cross"
"LIBGNAT=" INCLUDES="" \
  gnatmake-re gnatlink-re
make[3]: Entering directory
`/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final/gcc/ada/tools'
gcc -c -DCROSS_COMPILE -DIN_GCC   `echo -g -O2 -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes  |sed -e 's/-pedantic//g' -e
's/-Wtraditional//g'`  
/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada/link.c \
  -o link.o
gnatmake -I/usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/
/usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/
/home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/../adainclude
-I/usr/lib/gnat-gcc/i686-pc-linux-gnu/4.1/adalib/
/usr/lib/ada/i686-pc-linux-gnu-gnat-gcc-4.1/gtkada/adalib/
/home/ap/crossGNAT/gcc-4.1.1/install/lib/gcc/i686-pc-linux-gnu/4.1.1/adalib/
-I. -I/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1/gcc/ada -u
sdefault --GCC="gcc "
gnatmake: File name missing
make[3]: *** [gnatmake-re] Error 4
make[3]: Leaving directory
`/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final/gcc/ada/tools'
make[2]: *** [gnattools-cross] Error 2
make[2]: Leaving directory
`/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final/gnattools'
make[1]: *** [all-gnattools] Error 2
make[1]: Leaving directory
`/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final'
make: *** [all] Error 2
make: Leaving directory
`/home/ap/colibri/buildroot/toolchain_build_arm/gcc-4.1.1-final'

So it seems, that the include directories for gnatmake are not properly passed
on (-I and several paths without -I). In addition, there should be a file name
at the end of the command line.

This happens reproducably with gcc-4.1.1 and the current gcc-SVN, using uClibc
and using a glibc C target, as well as rtems.

BTW: to get gcc-4.1.1 GNAT compiling, I exchanged s-wchcon.ad[bs] with the
current SVN versions.


-- 
   Summary: gnattools fail on cross compilation - Makefile bug?
   Product: gcc
           Version: 4.1.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: belandor at web dot de
 GCC build triplet: i386-linux-gnu
  GCC host triplet: i386-pc-linux-gnu
GCC target triplet: arm-linux-uclibcgnueabi


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



[Bug ada/27776] New: GNAT creates bug box when instatiating a 'limited with'ed access type

2006-05-27 Thread belandor at web dot de
The following code creates a bug box when compiled with

gnatmake -gnat05 bug-test.adb


the gcc-4.1.0 version needed a patch in erroutc.adb and s-wchcon.ad[sb] to
compile.

[EMAIL PROTECTED] ~/academics/Modelling/bug-test $ gnatmake -gnat05 bug_test
gcc -c -gnat05 bug_test.adb
gcc -c -gnat05 edges.ads
gcc -c -gnat05 nodes.ads
+===GNAT BUG DETECTED==+
| 4.1.0 (i686-pc-linux-gnu) in save_gnu_tree, at ada/utils.c:163   |
| Error detected at a-contai.ads:20:40 |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.

A bug box also appears using the current SVN trunk (revision 114127):

[EMAIL PROTECTED] ~/academics/Modelling/bug-test $
/home/ap/crossGNAT/gcc-SVN/install/bin/gnatmake bug_test
gcc -c bug_test.adb
gcc -c edges.ads
gcc -c nodes.ads
+===GNAT BUG DETECTED==+
| 4.2.0 20060526 (experimental) (i686-pc-linux-gnu) GCC error: |
| in save_gnu_tree, at ada/utils.c:162 |
| Error detected at a-contai.ads:20:40 |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.

nodes.ads
edges.ads

compilation abandoned
gnatmake: "nodes.ads" compilation error


-- Files follow here (filenames should be easily deductable)

with Nodes; with Edges;

procedure Bug_test is
begin
   null;
end Bug_Test;

with Ada.Containers.Doubly_Linked_Lists;

with Edges; use Edges;

package Nodes is
   type Node_T;
   type Node_A is access all Node_T;

   type Node_T is record
  Outgoing_Edges : Edges.Edge_Lists.List;
   end record;

end Nodes;

with Ada.Containers.Doubly_Linked_Lists;

limited with Nodes;

package Edges is
   type Edge_T;
   type Edge_T is record
  From, To : access Nodes.Node_T;
   end record;

   type Edge_A is access all Edge_T;

   package Edge_Lists is new Ada.Containers.Doubly_Linked_Lists
 (Edges.Edge_A, Edges."=");


end Edges;


-- 
   Summary: GNAT creates bug box when instatiating a 'limited
with'ed access type
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: belandor at web dot de


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