CRX port contribution - documentation update

Paul Woegerer Paul.Woegerer@nsc.com
Tue Apr 12 11:32:00 GMT 2005


Hi Paul
Hi Giovanni,

Paul Brook wrote:
>>2005-04-11  Paul Woegerer <paul.woegerer@nsc.com>
>>
>>	* config/crx/*: Port for CRX architecture.
>>	* config.gcc (crx-*-elf): Add elfos.h, crtbegin.o, crtend.o.
> 
> 
> You also need to update the documentation.
> 
> Paul
> 

Here comes the requested update for the documentation - I hope this
completes everything that is needed for a successful port submission.

Is it already to late to also add it to the 4.0 branch ? How long
does it normally take before i can see my sources in the CVS ?

thanks,
Paul

Paul Woegerer                 phone:  +49-8141-35-1385
CRTools Development           fax:    +49-8141-35-1403
Cores Development Group       mailto: paul.woegerer@nsc.com



The Changelog entry for the top level:

2005-04-12  Paul Woegerer <paul.woegerer@nsc.com>

	* MAINTAINERS: Added myself as maintainer


Index: gcc/MAINTAINERS
diff -c gcc/MAINTAINERS:1.1.1.8 gcc/MAINTAINERS:1.1.1.2.2.8
*** gcc/MAINTAINERS:1.1.1.8	Tue Apr  5 17:44:16 2005
--- gcc/MAINTAINERS	Tue Apr 12 11:06:30 2005
***************
*** 44,49 ****
--- 44,50 ----
   avr port		Marek Michalkiewicz	marekm@amelek.gda.pl
   c4x port		Michael Hayes		m.hayes@elec.canterbury.ac.nz
   cris port		Hans-Peter Nilsson	hp@axis.com
+ crx port		Paul Woegerer		paul.woegerer@nsc.com
   fr30 port		Nick Clifton		nickc@redhat.com
   frv port		Aldy Hernandez		aldyh@redhat.com
   frv port		Alexandre Oliva		aoliva@redhat.com



The Changelog entry for GCC:

2005-04-12  Paul Woegerer <paul.woegerer@nsc.com>

	* doc/contrib.texi: Added CRX specific documentation
	* doc/extend.texi: Likewise
	* doc/install.texi: Likewise
	* doc/invoke.texi: Likewise
	* doc/md.texi: Likewise


Index: gcc/gcc/doc/contrib.texi
diff -c gcc/gcc/doc/contrib.texi:1.1.1.8 gcc/gcc/doc/contrib.texi:1.1.1.2.2.8
*** gcc/gcc/doc/contrib.texi:1.1.1.8	Tue Apr  5 17:45:40 2005
--- gcc/gcc/doc/contrib.texi	Tue Apr 12 11:06:31 2005
***************
*** 959,964 ****
--- 959,967 ----
   reduction and other loop optimizations.

   @item
+ Paul Woegerer for the CRX port.
+
+ @item
   Carlo Wood for various fixes.

   @item
Index: gcc/gcc/doc/extend.texi
diff -c gcc/gcc/doc/extend.texi:1.1.1.8 gcc/gcc/doc/extend.texi:1.1.1.2.2.8
*** gcc/gcc/doc/extend.texi:1.1.1.8	Tue Apr  5 17:45:40 2005
--- gcc/gcc/doc/extend.texi	Tue Apr 12 11:06:31 2005
***************
*** 1867,1875 ****

   @item interrupt
   @cindex interrupt handler functions
! Use this attribute on the ARM, AVR, C4x, M32R/D and Xstormy16 ports to indicate
! that the specified function is an interrupt handler.  The compiler will
! generate function entry and exit sequences suitable for use in an
   interrupt handler when this attribute is present.

   Note, interrupt handlers for the m68k, H8/300, H8/300H, H8S, and SH processors
--- 1867,1875 ----

   @item interrupt
   @cindex interrupt handler functions
! Use this attribute on the ARM, AVR, C4x, CRX, M32R/D and Xstormy16 ports to
! indicate that the specified function is an interrupt handler. The compiler
! will generate function entry and exit sequences suitable for use in an
   interrupt handler when this attribute is present.

   Note, interrupt handlers for the m68k, H8/300, H8/300H, H8S, and SH processors
Index: gcc/gcc/doc/install.texi
diff -c gcc/gcc/doc/install.texi:1.1.1.8 gcc/gcc/doc/install.texi:1.1.1.2.2.9
*** gcc/gcc/doc/install.texi:1.1.1.8	Tue Apr  5 17:45:40 2005
--- gcc/gcc/doc/install.texi	Tue Apr 12 11:06:31 2005
***************
*** 2558,2563 ****
--- 2558,2582 ----
   @html
   <hr />
   @end html
+ @heading @anchor{crx}CRX
+
+ The CRX CompactRISC architecture is a low-power 32-bit architecture with
+ fast context switching and architectural extensibility features.
+
+ @ifnothtml
+ @xref{CRX Options,, CRX Options, gcc, Using and Porting the GNU Compiler
+ Collection (GCC)},
+ @end ifnothtml
+
+ @ifhtml
+ See ``CRX Options'' in the main manual for a list of CRX-specific options.
+ @end ifhtml
+
+ Use @samp{configure --target=crx-elf --enable-languages="c"} to configure GCC@.
+
+ @html
+ <hr />
+ @end html
   @heading @anchor{dos}DOS

   Please have a look at the @uref{binaries.html,,binaries page}.
Index: gcc/gcc/doc/invoke.texi
diff -c gcc/gcc/doc/invoke.texi:1.1.1.8 gcc/gcc/doc/invoke.texi:1.1.1.2.2.8
*** gcc/gcc/doc/invoke.texi:1.1.1.8	Tue Apr  5 17:45:40 2005
--- gcc/gcc/doc/invoke.texi	Tue Apr 12 11:06:31 2005
***************
*** 410,415 ****
--- 410,418 ----
   -melf  -maout  -melinux  -mlinux  -sim  -sim2 @gol
   -mmul-bug-workaround  -mno-mul-bug-workaround}

+ @emph{CRX Options}
+ @gccoptlist{-mmac -mctors-dtors -maccumulate-outgoing-args -mpush-args}
+
   @emph{Darwin Options}
   @gccoptlist{-all_load  -allowable_client  -arch  -arch_errors_fatal @gol
   -arch_only  -bind_at_load  -bundle  -bundle_loader @gol
***************
*** 6731,6736 ****
--- 6734,6740 ----
   * ARM Options::
   * AVR Options::
   * CRIS Options::
+ * CRX Options::
   * Darwin Options::
   * DEC Alpha Options::
   * DEC Alpha/VMS Options::
***************
*** 7323,7328 ****
--- 7327,7363 ----
   @opindex sim2
   Like @option{-sim}, but pass linker options to locate initialized data at
   0x40000000 and zero-initialized data at 0x80000000.
+ @end table
+
+ @node CRX Options
+ @subsection CRX Options
+ @cindex CRX Options
+
+ These options are defined specifically for the CRX ports.
+
+ @table @gcctabopt
+
+ @item -mmac
+ @opindex mmac
+ Enable the use of multiply-accumulate instructions. Disabled by default.
+
+ @item -mctors-dtors
+ @opindex mno-ctors-dtors
+ Specifies that collect2 should be used for collecting constructors and
+ destructors that need to be run at startup and exit. The default is to
+ generate named sections for these constructors and destructors.
+
+ @item -maccumulate-outgoing-args
+ @opindex maccumulate-outgoing-args
+ The maximum amount of space required for outgoing arguments will be
+ allocated for each function. Outgoing arguments won't be pushed onto
+ the stack for each call. Disabled by default.
+
+ @item -mpush-args
+ @opindex mpush-args
+ Push instructions will be used to pass outgoing arguments when functions
+ are called. Enabled by default. This option cannot be used together with
+ @option{-maccumulate-outgoing-args}.
   @end table

   @node Darwin Options
Index: gcc/gcc/doc/md.texi
diff -c gcc/gcc/doc/md.texi:1.1.1.7 gcc/gcc/doc/md.texi:1.1.1.2.2.8
*** gcc/gcc/doc/md.texi:1.1.1.7	Tue Apr  5 17:45:40 2005
--- gcc/gcc/doc/md.texi	Tue Apr 12 11:06:31 2005
***************
*** 1746,1751 ****
--- 1746,1782 ----
   A floating point constant 0.0
   @end table

+ @item CRX Architecture---@file{crx.h}
+ @table @code
+
+ @item b
+ Registers from r0 to r14 (registers without stack pointer)
+
+ @item l
+ Register r16 (64-bit accumulator lo register)
+
+ @item h
+ Register r17 (64-bit accumulator hi register)
+
+ @item k
+ Register pair r16-r17. (64-bit accumulator lo-hi pair)
+
+ @item I
+ Constant that fits in 3 bits
+
+ @item J
+ Constant that fits in 4 bits
+
+ @item K
+ Constant that fits in 5 bits
+
+ @item L
+ Constant that is one of -1, 4, -4, 7, 8, 12, 16, 20, 32, 48
+
+ @item G
+ Floating point constant that is legal for store immediate
+ @end table
+
   @item PowerPC and IBM RS6000---@file{rs6000.h}
   @table @code
   @item b




More information about the Gcc-patches mailing list