From a8cf60c47dd701cab5ee73ad16c9fd6ce245b944 Mon Sep 17 00:00:00 2001 From: Yvan Roux Date: Mon, 10 Apr 2017 17:09:58 +0200 Subject: Create Linaro branch from master at r246807. * .gitreview: New file. gcc/ * LINARO-VERSION: New file. * configure.ac: Add Linaro version string. * configure: Regenerate. gcc/ Cherry-pick from linaro/gcc-4_9-branch r217544. 2014-11-14 Yvan Roux Add Linaro release macros (Linaro only patch.) * Makefile.in (LINAROVER, LINAROVER_C, LINAROVER_S): Define. (CFLAGS-cppbuiltin.o): Add LINAROVER macro definition. (cppbuiltin.o): Depend on $(LINAROVER). * cppbuiltin.c (parse_linarover): New. (define_GNUC__): Define __LINARO_RELEASE__ and __LINARO_SPIN__ macros. Change-Id: I91836b5382641a8feabb00b54ad0a372bcfcfa75 --- .gitreview | 5 +++++ gcc/LINARO-VERSION | 1 + gcc/Makefile.in | 8 ++++++-- gcc/configure | 9 +++++---- gcc/configure.ac | 2 +- gcc/cppbuiltin.c | 25 ++++++++++++++++++++++++- 6 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 .gitreview create mode 100644 gcc/LINARO-VERSION diff --git a/.gitreview b/.gitreview new file mode 100644 index 00000000000..45dbc99f279 --- /dev/null +++ b/.gitreview @@ -0,0 +1,5 @@ +[gerrit] +host=review.linaro.org +port=29418 +project=toolchain/gcc +defaultbranch=linaro-local/gcc-7-preview-branch diff --git a/gcc/LINARO-VERSION b/gcc/LINARO-VERSION new file mode 100644 index 00000000000..644649b4089 --- /dev/null +++ b/gcc/LINARO-VERSION @@ -0,0 +1 @@ +preview 7.0-2017.05~dev diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 50d84bfdc46..e38b726e887 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -852,10 +852,12 @@ BASEVER := $(srcdir)/BASE-VER # 4.x.y DEVPHASE := $(srcdir)/DEV-PHASE # experimental, prerelease, "" DATESTAMP := $(srcdir)/DATESTAMP # YYYYMMDD or empty REVISION := $(srcdir)/REVISION # [BRANCH revision XXXXXX] +LINAROVER := $(srcdir)/LINARO-VERSION # M.x-YYYY.MM[-S][~dev] BASEVER_c := $(shell cat $(BASEVER)) DEVPHASE_c := $(shell cat $(DEVPHASE)) DATESTAMP_c := $(shell cat $(DATESTAMP)) +LINAROVER_c := $(shell cat $(LINAROVER)) ifeq (,$(wildcard $(REVISION))) REVISION_c := @@ -882,6 +884,7 @@ DATESTAMP_s := \ "\"$(if $(DEVPHASE_c)$(filter-out 0,$(PATCHLEVEL_c)), $(DATESTAMP_c))\"" PKGVERSION_s:= "\"@PKGVERSION@\"" BUGURL_s := "\"@REPORT_BUGS_TO@\"" +LINAROVER_s := "\"$(LINAROVER_c)\"" PKGVERSION := @PKGVERSION@ BUGURL_TEXI := @REPORT_BUGS_TEXI@ @@ -2807,8 +2810,9 @@ PREPROCESSOR_DEFINES = \ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ @TARGET_SYSTEM_ROOT_DEFINE@ -CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) -cppbuiltin.o: $(BASEVER) +CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) \ + -DLINAROVER=$(LINAROVER_s) +cppbuiltin.o: $(BASEVER) $(LINAROVER) CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES) diff --git a/gcc/configure b/gcc/configure index ea73b151a4e..0c68bc63a18 100755 --- a/gcc/configure +++ b/gcc/configure @@ -1717,7 +1717,8 @@ Optional Packages: --with-stabs arrange to use stabs instead of host debug format --with-dwarf2 force the default debug format to be DWARF 2 --with-specs=SPECS add SPECS to driver command-line processing - --with-pkgversion=PKG Use PKG in the version string in place of "GCC" + --with-pkgversion=PKG Use PKG in the version string in place of "Linaro + GCC `cat $srcdir/LINARO-VERSION`" --with-bugurl=URL Direct users to URL to report a bug --with-multilib-list select multilibs (AArch64, SH and x86-64 only) --with-gnu-ld assume the C compiler uses GNU ld default=no @@ -7637,7 +7638,7 @@ if test "${with_pkgversion+set}" = set; then : *) PKGVERSION="($withval) " ;; esac else - PKGVERSION="(GCC) " + PKGVERSION="(Linaro GCC `cat $srcdir/LINARO-VERSION`) " fi @@ -18433,7 +18434,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18436 "configure" +#line 18437 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18539,7 +18540,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18542 "configure" +#line 18543 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/gcc/configure.ac b/gcc/configure.ac index 9d4c792a33f..e8833571b1a 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -929,7 +929,7 @@ AC_ARG_WITH(specs, ) AC_SUBST(CONFIGURE_SPECS) -ACX_PKGVERSION([GCC]) +ACX_PKGVERSION([Linaro GCC `cat $srcdir/LINARO-VERSION`]) ACX_BUGURL([https://gcc.gnu.org/bugs/]) # Sanity check enable_languages in case someone does not run the toplevel diff --git a/gcc/cppbuiltin.c b/gcc/cppbuiltin.c index 720e231da5c..0c53ad8724a 100644 --- a/gcc/cppbuiltin.c +++ b/gcc/cppbuiltin.c @@ -53,18 +53,41 @@ parse_basever (int *major, int *minor, int *patchlevel) *patchlevel = s_patchlevel; } +/* Parse a LINAROVER version string of the format "M.m-year.month[-spin][~dev]" + to create Linaro release number YYYYMM and spin version. */ +static void +parse_linarover (int *release, int *spin) +{ + static int s_year = -1, s_month, s_spin; + + if (s_year == -1) + if (sscanf (LINAROVER, "%*[^-]-%d.%d-%d", &s_year, &s_month, &s_spin) != 3) + { + sscanf (LINAROVER, "%*[^-]-%d.%d", &s_year, &s_month); + s_spin = 0; + } + + if (release) + *release = s_year * 100 + s_month; + + if (spin) + *spin = s_spin; +} /* Define __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__ and __VERSION__. */ static void define__GNUC__ (cpp_reader *pfile) { - int major, minor, patchlevel; + int major, minor, patchlevel, linaro_release, linaro_spin; parse_basever (&major, &minor, &patchlevel); + parse_linarover (&linaro_release, &linaro_spin); cpp_define_formatted (pfile, "__GNUC__=%d", major); cpp_define_formatted (pfile, "__GNUC_MINOR__=%d", minor); cpp_define_formatted (pfile, "__GNUC_PATCHLEVEL__=%d", patchlevel); cpp_define_formatted (pfile, "__VERSION__=\"%s\"", version_string); + cpp_define_formatted (pfile, "__LINARO_RELEASE__=%d", linaro_release); + cpp_define_formatted (pfile, "__LINARO_SPIN__=%d", linaro_spin); cpp_define_formatted (pfile, "__ATOMIC_RELAXED=%d", MEMMODEL_RELAXED); cpp_define_formatted (pfile, "__ATOMIC_SEQ_CST=%d", MEMMODEL_SEQ_CST); cpp_define_formatted (pfile, "__ATOMIC_ACQUIRE=%d", MEMMODEL_ACQUIRE); -- cgit v1.2.3