Just an aside that I have done a fair amount of clean up on the bsp_specs on a local branch with corresponding GCC patches to begin to eliminate the need for them.
I think the x86_64 tools are built with a subset of that patch and have an empty bsp_specs. Hopefully after the next rtems release I can start pushing these.with help and eliminate the specs completely. On Wed, Sep 19, 2018, 9:14 AM Daniel Hellstrom <dan...@gaisler.com> wrote: > From: Jacob Hansen <jacob.han...@gaisler.com> > > This is needed for building rtems correctly with Clang. > > Note that this change does not mean rtems can build correctly with > mainline clang. However the change allows building rtems with a > Clang toolchain that has a rtems frontend similar that of GCC's > builtin rtems specs. > --- > c/src/aclocal/prog-cc.m4 | 6 ++++-- > testsuites/aclocal/gcc-specs.m4 | 16 ++++++++++++++++ > testsuites/aclocal/prog-cc.m4 | 7 ++++++- > 3 files changed, 26 insertions(+), 3 deletions(-) > create mode 100644 testsuites/aclocal/gcc-specs.m4 > > diff --git a/c/src/aclocal/prog-cc.m4 b/c/src/aclocal/prog-cc.m4 > index 54f3a08..39bec69 100644 > --- a/c/src/aclocal/prog-cc.m4 > +++ b/c/src/aclocal/prog-cc.m4 > @@ -28,10 +28,12 @@ test "$rtems_cv_gcc_pipe" = "yes" && CC="$CC --pipe" > dnl check if the compiler supports --specs > RTEMS_GCC_SPECS > > -AS_IF([test x"$rtems_cv_gcc_specs" = xyes],[ > +dnl Compilers that does not support --specs (Clang) still needs -B and > -qrtems > > > GCCSPECS="-B\$(RTEMS_SOURCE_ROOT)/bsps/\$(RTEMS_CPU)/\$(RTEMS_BSP_FAMILY)/start" > -GCCSPECS="${GCCSPECS} -specs bsp_specs -qrtems"]) > +AS_IF([test x"$rtems_cv_gcc_specs" = xyes],[ > +GCCSPECS="${GCCSPECS} -specs bsp_specs"]) > AC_SUBST(GCCSPECS) > +GCCSPECS="${GCCSPECS} -qrtems" > > AS_IF([test "$GCC" = yes],[ > RTEMS_RELLDFLAGS="-qnolinkcmds -nostdlib -r" > diff --git a/testsuites/aclocal/gcc-specs.m4 > b/testsuites/aclocal/gcc-specs.m4 > new file mode 100644 > index 0000000..ddcc2bf > --- /dev/null > +++ b/testsuites/aclocal/gcc-specs.m4 > @@ -0,0 +1,16 @@ > +dnl Check whether the target compiler accepts -specs > + > +AC_DEFUN([RTEMS_GCC_SPECS], > +[AC_REQUIRE([RTEMS_PROG_CC]) > +AC_CACHE_CHECK(whether $CC accepts -specs,rtems_cv_gcc_specs, > +[ > +rtems_cv_gcc_specs=no > +if test x"$GCC" = x"yes"; then > + touch confspec > + echo 'void f(){}' >conftest.c > + if test -z "`${CC} -specs confspec -c conftest.c 2>&1`";then > + rtems_cv_gcc_specs=yes > + fi > +fi > +rm -f confspec conftest* > +])]) > diff --git a/testsuites/aclocal/prog-cc.m4 b/testsuites/aclocal/prog-cc.m4 > index 44d07d8..cf6be7d 100644 > --- a/testsuites/aclocal/prog-cc.m4 > +++ b/testsuites/aclocal/prog-cc.m4 > @@ -24,9 +24,14 @@ AC_DEFUN([RTEMS_PROG_CC_FOR_TARGET], > dnl check target cc > RTEMS_PROG_CC > > +dnl check if the compiler supports -specs > +RTEMS_GCC_SPECS > + > AS_IF([test x"$GCC" = xyes],[ > > > GCCSPECS="-B\$(RTEMS_SOURCE_ROOT)/bsps/\$(RTEMS_CPU)/\$(RTEMS_BSP_FAMILY)/start" > -GCCSPECS="${GCCSPECS} -specs bsp_specs -qrtems"]) > +AS_IF([test x"$rtems_cv_gcc_specs" = xyes],[ > +GCCSPECS="${GCCSPECS} -specs bsp_specs"]) > +GCCSPECS="${GCCSPECS} -qrtems"]) > AC_SUBST(GCCSPECS) > > RTEMS_INCLUDES > -- > 2.7.4 > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel