Message ID | 87egq8mir1.fsf@schwinge.name |
---|---|
State | New |
Headers | show |
On Mon, Feb 02, 2015 at 04:32:34PM +0100, Thomas Schwinge wrote: > Hi! > > On Tue, 23 Dec 2014 19:49:35 +0100, I wrote: > > On Mon, 10 Nov 2014 17:19:57 +0100, Bernd Schmidt <bernds@codesourcery.com> wrote: > > > The scripts (11/11) I've put up on github, along with a hacked up > > > newlib. These are at [...] > > > > They are likely to migrate to MentorEmbedded from bernds, but that had > > > some permissions problems last week. > > > > That has recently been done: > > <https://github.com/MentorEmbedded/nvptx-tools> and > > <https://github.com/MentorEmbedded/nvptx-newlib> are now available. > > > > (I'm aware that we still are to write up how to actually build and test > > all this.) > > I just updated > <https://gcc.gnu.org/wiki/Offloading?action=diff&rev2=26&rev1=25>. Can you please update the gmane URLs to corresponding https://gcc.gnu.org/ml/gcc-patches/ URLs? We have our own mailing list archives, no need to use third party ones. > > OK to check in the following to trunk? > --- gcc/config/nvptx/nvptx.opt > +++ gcc/config/nvptx/nvptx.opt > @@ -17,13 +17,13 @@ > ; along with GCC; see the file COPYING3. If not see > ; <http://www.gnu.org/licenses/>. > > -m64 > -Target Report RejectNegative Mask(ABI64) > -Generate code for a 64 bit ABI > - > m32 > Target Report RejectNegative InverseMask(ABI64) > -Generate code for a 32 bit ABI > +Generate code for a 32-bit ABI > + > +m64 > +Target Report RejectNegative Mask(ABI64) > +Generate code for a 64-bit ABI I'd expect you want also Negative(m64) on the m32 option and Negative(m32) on the m64 option. > +@table @gcctabopt > + > +@item -m32 > +@itemx -m64 > +@opindex m32 > +@opindex m64 > +Generate code for 32-bit or 64-bit ABI. I guess you should mention which one of those is the default (if it isn't configure time configurable). What about multilibs, is newlib built for both -m32 and -m64, or just the default option? Jakub
Hi! On Wed, 4 Feb 2015 10:43:14 +0100, Jakub Jelinek <jakub@redhat.com> wrote: > On Mon, Feb 02, 2015 at 04:32:34PM +0100, Thomas Schwinge wrote: > > Hi! > > > > On Tue, 23 Dec 2014 19:49:35 +0100, I wrote: > > > On Mon, 10 Nov 2014 17:19:57 +0100, Bernd Schmidt <bernds@codesourcery.com> wrote: > > > > The scripts (11/11) I've put up on github, along with a hacked up > > > > newlib. These are at [...] > > > > > > They are likely to migrate to MentorEmbedded from bernds, but that had > > > > some permissions problems last week. > > > > > > That has recently been done: > > > <https://github.com/MentorEmbedded/nvptx-tools> and > > > <https://github.com/MentorEmbedded/nvptx-newlib> are now available. > > > > > > (I'm aware that we still are to write up how to actually build and test > > > all this.) > > > > I just updated > > <https://gcc.gnu.org/wiki/Offloading?action=diff&rev2=26&rev1=25>. > > Can you please update the gmane URLs to corresponding > https://gcc.gnu.org/ml/gcc-patches/ URLs? We have our own mailing list > archives, no need to use third party ones. It's convenient for me (Message-IDs falls out of my mailer automatically, and Gmane happens to support retrieving message by Message-ID), and the sourceware mailing list archives software doesn't interlink articles between different YYYY-MM, which I find rather limiting. > > OK to check in the following to trunk? Committed to trunk in r220783. > > --- gcc/config/nvptx/nvptx.opt > > +++ gcc/config/nvptx/nvptx.opt > > @@ -17,13 +17,13 @@ > > ; along with GCC; see the file COPYING3. If not see > > ; <http://www.gnu.org/licenses/>. > > > > -m64 > > -Target Report RejectNegative Mask(ABI64) > > -Generate code for a 64 bit ABI > > - > > m32 > > Target Report RejectNegative InverseMask(ABI64) > > -Generate code for a 32 bit ABI > > +Generate code for a 32-bit ABI > > + > > +m64 > > +Target Report RejectNegative Mask(ABI64) > > +Generate code for a 64-bit ABI > > I'd expect you want also Negative(m64) on the m32 option and > Negative(m32) on the m64 option. > > > +@table @gcctabopt > > + > > +@item -m32 > > +@itemx -m64 > > +@opindex m32 > > +@opindex m64 > > +Generate code for 32-bit or 64-bit ABI. > > I guess you should mention which one of those is the default (if it isn't > configure time configurable). Have taken a note to look into these, later. > What about multilibs, is newlib built for both -m32 and -m64, or just the > default option? So far, we have concentrated only on the 64-bit x86_64 configuration; 32-bit has several known issues to be resolved. <https://gcc.gnu.org/PR65099> filed. Grüße, Thomas
On Wed, Feb 18, 2015 at 09:50:15AM +0100, Thomas Schwinge wrote: > > What about multilibs, is newlib built for both -m32 and -m64, or just the > > default option? > > So far, we have concentrated only on the 64-bit x86_64 configuration; > 32-bit has several known issues to be resolved. > <https://gcc.gnu.org/PR65099> filed. I meant 64-bit and 32-bit PTX. Jakub
diff --git gcc/config/nvptx/nvptx.opt gcc/config/nvptx/nvptx.opt index 1448dfc..249a61d 100644 --- gcc/config/nvptx/nvptx.opt +++ gcc/config/nvptx/nvptx.opt @@ -17,13 +17,13 @@ ; along with GCC; see the file COPYING3. If not see ; <http://www.gnu.org/licenses/>. -m64 -Target Report RejectNegative Mask(ABI64) -Generate code for a 64 bit ABI - m32 Target Report RejectNegative InverseMask(ABI64) -Generate code for a 32 bit ABI +Generate code for a 32-bit ABI + +m64 +Target Report RejectNegative Mask(ABI64) +Generate code for a 64-bit ABI mmainkernel Target Report RejectNegative diff --git gcc/doc/install.texi gcc/doc/install.texi index c9e3bf1..b31f9b6 100644 --- gcc/doc/install.texi +++ gcc/doc/install.texi @@ -3302,6 +3302,8 @@ information have to. @item @uref{#nds32be-x-elf,,nds32be-*-elf} @item +@uref{#nvptx-x-none,,nvptx-*-none} +@item @uref{#powerpc-x-x,,powerpc*-*-*} @item @uref{#powerpc-x-darwin,,powerpc-*-darwin*} @@ -4269,6 +4271,27 @@ Andes NDS32 target in big endian mode. @html <hr /> @end html +@anchor{nvptx-x-none} +@heading nvptx-*-none +Nvidia PTX target. + +Instead of GNU binutils, you will need to install +@uref{https://github.com/MentorEmbedded/nvptx-tools/,,nvptx-tools}. +Tell GCC where to find it: +@option{--with-build-time-tools=[install-nvptx-tools]/nvptx-none/bin}. + +A nvptx port of newlib is available at +@uref{https://github.com/MentorEmbedded/nvptx-newlib/,,nvptx-newlib}. +It can be automatically built together with GCC@. For this, add a +symbolic link to nvptx-newlib's @file{newlib} directory to the +directory containing the GCC sources. + +Use the @option{--disable-sjlj-exceptions} and +@option{--enable-newlib-io-long-long} options when configuring. + +@html +<hr /> +@end html @anchor{powerpc-x-x} @heading powerpc-*-* You can specify a default version for the @option{-mcpu=@var{cpu_type}} diff --git gcc/doc/invoke.texi gcc/doc/invoke.texi index ba81ec7..1fb329e 100644 --- gcc/doc/invoke.texi +++ gcc/doc/invoke.texi @@ -840,6 +840,9 @@ Objective-C and Objective-C++ Dialects}. -mcustom-fpu-cfg=@var{name} @gol -mhal -msmallc -msys-crt0=@var{name} -msys-lib=@var{name}} +@emph{Nvidia PTX Options} +@gccoptlist{-m32 -m64 -mmainkernel} + @emph{PDP-11 Options} @gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol -mbcopy -mbcopy-builtin -mint32 -mno-int16 @gol @@ -11967,6 +11970,7 @@ platform. * MSP430 Options:: * NDS32 Options:: * Nios II Options:: +* Nvidia PTX Options:: * PDP-11 Options:: * picoChip Options:: * PowerPC Options:: @@ -18277,6 +18281,28 @@ This option is typically used to link with a library provided by a HAL BSP. @end table +@node Nvidia PTX Options +@subsection Nvidia PTX Options +@cindex Nvidia PTX options +@cindex nvptx options + +These options are defined for Nvidia PTX: + +@table @gcctabopt + +@item -m32 +@itemx -m64 +@opindex m32 +@opindex m64 +Generate code for 32-bit or 64-bit ABI. + +@item -mmainkernel +@opindex mmainkernel +Link in code for a __main kernel. This is for stand-alone instead of +offloading execution. + +@end table + @node PDP-11 Options @subsection PDP-11 Options @cindex PDP-11 Options