public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* 3.1 branch Ada cross report
@ 2002-04-30 10:46 Joel Sherrill
  2002-05-01 14:09 ` Jim Wilson
  0 siblings, 1 reply; 6+ messages in thread
From: Joel Sherrill @ 2002-04-30 10:46 UTC (permalink / raw)
  To: gcc, guerby


Hi,

I finally got enough targets working for C and C++ that I 
thought I would invest some time in trying gnat.  On the 
old gcc 2.8.1 based GNAT, I was only able to build 
sparc-rtems and powerpc-rtems due to the more limited
support for embedded targets and ELF for them.

My native compiler is the ACT 3.14p binary from cs.nyu.edu.
newlib is CVS, gcc is 3.1 CVS last updated Saturday
about 10am CDT.

I should also thank Laurent Guerby for helping me fight some
basic build problems.  I have some RTEMS specific Ada 
patches and a general cross Ada one from Laurent in my
tree.

Some general impressions:

  + i386-rtems fails to build with a GNAT BUG BOX. :(
    Makes me wonder how native x86 versions are doing.
  + at least hppa1.1 assumes native build for CFLAGS
  + general include PATH problem which is manifested
    as inability to find newlib's .h files and at least
    in one case the file config/mips/ecoff.h.  This 
    seems to explain arm, powerpc, mips, and mips64orion.
  + Some target CPUs do not have the Ada exception support.
    h8300, m68k, and sh targets failed for this reason.

sparc-rtems - This is the ONLY target that built OK.  I am 
   going to run ACATS on it.

arm-rtems - adaint.c fails with these
	adaint.h:100: parse error before '*' token
	I don't see anything wrong at that line.  :(

h8300-rtems - 
	raise.c: In function `__gnat_eh_personality':
	raise.c:601: built-in function `__builtin_eh_return_data_regno' not
currently supported

hppa1.1-rtems -
	gcc -c -g -O2  -mdisable-indexing -W -Wall -gnatpg -gnata -I- -I.
-I../../../gcc-to-merge/gcc/ada ../../../gcc-to-merge/gcc/ada/ada.ads
gnat1: Invalid option `disable-indexing'
	Apparently the configure scripts assume an hpux compiler?

i386-rtems - GNAT BUG box (says gnatpro)
| 5.00w (20010924) (i386-pc-rtems) GCC
error:                              |
| Internal compiler error in compensate_edge, at
reg-stack.c:2564          |
| Error detected at a-tiflio.adb:54:10
[a-flteio.ads:22:1]                 

i960-rtems - 
	../../../gcc-to-merge/gcc/ada/utils.c: In function
`finish_record_type':
	../../../gcc-to-merge/gcc/ada/utils.c:868: `record_size' undeclared
(first use in this function)

m68k-rtems -
	raise.c: In function `__gnat_eh_personality':
	raise.c:601: built-in function `__builtin_eh_return_data_regno' not
currently supported

mips64orion-rtems and mips-rtems - appears to be a Makefile problem
	make[2]: *** No rule to make target
`../../../gcc-to-merge/gcc/ada/config/mips/ecoff.h', needed by
`final.o'.  Stop.


powerpc-rtems - can't find C library includes possibly because it
	isn't properly handling -enable-newlib?
/opt/usr3/ftp_archive/gnu/gcc/ss/b3.1-branch/gcc-to-merge/gcc/tsystem.h:87:18:
time.h: No such file or directory
adaint.c:58:22: sys/stat.h: No such file or directory
adaint.c:59:19: fcntl.h: No such file or directory

sh-rtems and sh-rtemself -
	raise.c: In function `__gnat_eh_personality':
	raise.c:601: built-in function `__builtin_eh_return_data_regno' not
currently supported
	raise.c:601: built-in function `__builtin_eh_return_data_regno' not
currently supported

sh-rtemself - 

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel@OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 3.1 branch Ada cross report
  2002-04-30 10:46 3.1 branch Ada cross report Joel Sherrill
@ 2002-05-01 14:09 ` Jim Wilson
  2002-05-02  4:15   ` Joel Sherrill
  0 siblings, 1 reply; 6+ messages in thread
From: Jim Wilson @ 2002-05-01 14:09 UTC (permalink / raw)
  To: joel.sherrill; +Cc: gcc, guerby

>i960-rtems - 
>	../../../gcc-to-merge/gcc/ada/utils.c: In function
>`finish_record_type':
>	../../../gcc-to-merge/gcc/ada/utils.c:868: `record_size' undeclared
>(first use in this function)

This is an Ada front end bug.  You will get this error on most any target that
defines ROUND_TYPE_SIZE, as it is using the undeclared record_size variable
inside a section of code surrounded by #ifdef ROUND_TYPE_SIZE.

This looks like a simple typo.  I think the correct fix is this.
I have made no attempt to verify this fix.

2002-05-01  Jim Wilson  <wilson@redhat.com>

	* ada/utils.c (finish_record_type): Change record_size to record_type.

Index: utils.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ada/utils.c,v
retrieving revision 1.17
diff -p -r1.17 utils.c
*** utils.c	18 Apr 2002 17:53:47 -0000	1.17
--- utils.c	1 May 2002 21:03:33 -0000
*************** finish_record_type (record_type, fieldli
*** 853,859 ****
  
  #ifdef ROUND_TYPE_SIZE
    size = ROUND_TYPE_SIZE (record_type, size, TYPE_ALIGN (record_type));
!   size_unit = ROUND_TYPE_SIZE_UNIT (record_size, size_unit,
  				    TYPE_ALIGN (record_type) / BITS_PER_UNIT);
  #else
    size = round_up (size, TYPE_ALIGN (record_type));
--- 853,859 ----
  
  #ifdef ROUND_TYPE_SIZE
    size = ROUND_TYPE_SIZE (record_type, size, TYPE_ALIGN (record_type));
!   size_unit = ROUND_TYPE_SIZE_UNIT (record_type, size_unit,
  				    TYPE_ALIGN (record_type) / BITS_PER_UNIT);
  #else
    size = round_up (size, TYPE_ALIGN (record_type));

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 3.1 branch Ada cross report
  2002-05-01 14:09 ` Jim Wilson
@ 2002-05-02  4:15   ` Joel Sherrill
  2002-05-02  8:23     ` Jim Wilson
  0 siblings, 1 reply; 6+ messages in thread
From: Joel Sherrill @ 2002-05-02  4:15 UTC (permalink / raw)
  To: Jim Wilson; +Cc: gcc, guerby



Jim Wilson wrote:
> 
> >i960-rtems -
> >       ../../../gcc-to-merge/gcc/ada/utils.c: In function
> >`finish_record_type':
> >       ../../../gcc-to-merge/gcc/ada/utils.c:868: `record_size' undeclared
> >(first use in this function)
> 
> This is an Ada front end bug.  You will get this error on most any target that
> defines ROUND_TYPE_SIZE, as it is using the undeclared record_size variable
> inside a section of code surrounded by #ifdef ROUND_TYPE_SIZE.
> 
> This looks like a simple typo.  I think the correct fix is this.
> I have made no attempt to verify this fix.

Can this be committed to both the 3.1 and CVS branch?  With this
and some tinkering in my build procedure i960-rtems and powerpc-rtems
now build.

> 2002-05-01  Jim Wilson  <wilson@redhat.com>
> 
>         * ada/utils.c (finish_record_type): Change record_size to record_type.
> 
> Index: utils.c
> ===================================================================
> RCS file: /cvs/gcc/gcc/gcc/ada/utils.c,v
> retrieving revision 1.17
> diff -p -r1.17 utils.c
> *** utils.c     18 Apr 2002 17:53:47 -0000      1.17
> --- utils.c     1 May 2002 21:03:33 -0000
> *************** finish_record_type (record_type, fieldli
> *** 853,859 ****
> 
>   #ifdef ROUND_TYPE_SIZE
>     size = ROUND_TYPE_SIZE (record_type, size, TYPE_ALIGN (record_type));
> !   size_unit = ROUND_TYPE_SIZE_UNIT (record_size, size_unit,
>                                     TYPE_ALIGN (record_type) / BITS_PER_UNIT);
>   #else
>     size = round_up (size, TYPE_ALIGN (record_type));
> --- 853,859 ----
> 
>   #ifdef ROUND_TYPE_SIZE
>     size = ROUND_TYPE_SIZE (record_type, size, TYPE_ALIGN (record_type));
> !   size_unit = ROUND_TYPE_SIZE_UNIT (record_type, size_unit,
>                                     TYPE_ALIGN (record_type) / BITS_PER_UNIT);
>   #else
>     size = round_up (size, TYPE_ALIGN (record_type));

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel@OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 3.1 branch Ada cross report
  2002-05-02  4:15   ` Joel Sherrill
@ 2002-05-02  8:23     ` Jim Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Jim Wilson @ 2002-05-02  8:23 UTC (permalink / raw)
  To: joel.sherrill; +Cc: gcc, guerby

It is approved for the CVS mainline.  I can do that.  Richard Kenner has
already said it looked OK with him too, so this should be OK for the Ada folks.

You might want to check with ACT to make sure it gets into their tree.  They
have a history of losing patches that are checked into the FSF tree but not
into the ACT tree.  They apparently don't understand that the FSF tree is the
master source tree.

I believe explicit approval from Mark Mitchell is necessary to check it into
the 3.1 release branch.

Jim

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 3.1 branch Ada cross report
@ 2002-05-02  8:49 Richard Kenner
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Kenner @ 2002-05-02  8:49 UTC (permalink / raw)
  To: wilson; +Cc: gcc

    You might want to check with ACT to make sure it gets into their tree.

I put it into my directory and it will get into the ACT tree on my next
checkin.  

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 3.1 branch Ada cross report
@ 2002-05-01 14:39 Richard Kenner
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Kenner @ 2002-05-01 14:39 UTC (permalink / raw)
  To: wilson; +Cc: gcc

    This looks like a simple typo.  I think the correct fix is this.
    I have made no attempt to verify this fix.

It looks correct to me too.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2002-05-02 15:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-04-30 10:46 3.1 branch Ada cross report Joel Sherrill
2002-05-01 14:09 ` Jim Wilson
2002-05-02  4:15   ` Joel Sherrill
2002-05-02  8:23     ` Jim Wilson
2002-05-01 14:39 Richard Kenner
2002-05-02  8:49 Richard Kenner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).