[PR target/65181] nvptx libgcc: Prevent building "advanced" stuff (for example, gcov...
authorThomas Schwinge <thomas@codesourcery.com>
Mon, 23 Feb 2015 17:51:41 +0000 (18:51 +0100)
committerThomas Schwinge <tschwinge@gcc.gnu.org>
Mon, 23 Feb 2015 17:51:41 +0000 (18:51 +0100)
When building GCC against a proper newlib sysroot, the libgcc build will
include more than what's built in the -Dinhibit_libc configuration used when
building newlib as part of the GCC build process.  See the inhibit_libc logic
in gcc/configure.ac.

To avoid...

    ptxas _gcov_indirect_call_topn_profiler.o, line 101; error   : Type or alignment of argument does not match formal parameter 'ptr'
    ptxas _gcov_indirect_call_topn_profiler.o, line 101; error   : Call has wrong number of parameters
    ptxas _gcov_indirect_call_topn_profiler.o, line 101; error   : Type or alignment of argument does not match formal parameter 'size'
    ptxas fatal   : Ptx assembly aborted due to errors
    nvptx-as: ptxas returned 255 exit status
    make[2]: *** [_gcov_indirect_call_topn_profiler.o] Error 1

..., "dumb down" the libgcc build:

libgcc/
PR target/65181
* config/nvptx/t-nvptx (INHIBIT_LIBC_CFLAGS): Define to
-Dinhibit_libc.

From-SVN: r220915

libgcc/ChangeLog
libgcc/config/nvptx/t-nvptx

index e05ba78..df36a8d 100644 (file)
@@ -1,3 +1,9 @@
+2015-02-23  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR target/65181
+       * config/nvptx/t-nvptx (INHIBIT_LIBC_CFLAGS): Define to
+       -Dinhibit_libc.
+
 2015-02-17  Sandra Loosemore  <sandra@codesourcery.com>
 
        * config/arm/bpabi.S (test_div_by_zero): Make label names
index 08d3a67..34d68cc 100644 (file)
@@ -7,3 +7,8 @@ LIB2FUNCS_EXCLUDE=__main
 
 crt0.o: $(srcdir)/config/nvptx/crt0.s
        cp $< $@
+
+# Prevent building "advanced" stuff (for example, gcov support).  We don't
+# support it, and it may cause the build to fail, because of alloca usage, for
+# example.
+INHIBIT_LIBC_CFLAGS = -Dinhibit_libc