aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog52
-rw-r--r--Makefile.def10
-rw-r--r--Makefile.in55
-rw-r--r--Makefile.tpl2
-rw-r--r--config/ChangeLog22
-rw-r--r--config/bootstrap-lto.mk5
-rw-r--r--config/cloog.m44
-rwxr-xr-xconfigure37
-rw-r--r--configure.ac30
9 files changed, 162 insertions, 55 deletions
diff --git a/ChangeLog b/ChangeLog
index 7711c87..de60245 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,55 @@
+2011-02-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Sync from GCC:
+
+ 2011-02-12 Alexandre Oliva <aoliva@redhat.com>
+
+ PR lto/47225
+ * Makefile.def (lto-plugin): Double dash for enable-shared.
+ (configure-gcc): Depend on all-lto-plugin.
+ * Makefile.in: Rebuilt.
+
+ 2011-02-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure.ac: Remove extra bracket.
+ * configure: Regenerate.
+
+ 2011-02-06 Kai Tietz <kai.tietz@onevision.com>
+
+ PR lto/47225
+ * Makefile.def: Add dependency for install-gcc
+ on install-lto-plugin.
+ * Makfile.in: Regenerated
+
+ 2011-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.ac: If with_ppl is no, move setting with_cloog=no
+ after CLOOG_REQUESTED check.
+ * configure: Regenerated.
+
+ 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
+ CLooG has been requested.
+ * configure: Regenerated.
+
+ 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * configure: Regenerated.
+ * configure.ac: Check for version 0.11 (or later revision) of PPL.
+
+ 2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * configure: Regenerated.
+ * configure.ac: Use CLOOG_CHECK_VERSION(0,16,1).
+
+ 2011-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR lto/47225
+ * Makefile.in: Regenerate.
+ * Makefile.def (lto-plugin): Always pass enable-shared to the plugin
+ configure.
+
2011-01-31 Alexandre Oliva <aoliva@redhat.com>
PR libgcj/44341
diff --git a/Makefile.def b/Makefile.def
index 8eb5b03..85b582c 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -4,7 +4,7 @@ AutoGen definitions Makefile.tpl;
// Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
// This file was originally written by Nathanael Nerode.
//
-// Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+// Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
// Free Software Foundation
//
// This file is free software; you can redistribute it and/or modify
@@ -145,7 +145,8 @@ host_modules= { module= libtermcap; no_check=true;
missing=maintainer-clean; };
host_modules= { module= utils; no_check=true; };
host_modules= { module= gnattools; };
-host_modules= { module= lto-plugin; bootstrap=true; };
+host_modules= { module= lto-plugin; bootstrap=true;
+ extra_configure_flags=--enable-shared; };
target_modules = { module= libstdc++-v3;
bootstrap=true;
@@ -321,6 +322,7 @@ dependencies = { module=all-build-fixincludes; on=all-build-libiberty; };
// Host modules specific to gcc.
dependencies = { module=configure-gcc; on=configure-intl; };
+dependencies = { module=configure-gcc; on=all-lto-plugin; };
dependencies = { module=configure-gcc; on=all-binutils; };
dependencies = { module=configure-gcc; on=all-gas; };
dependencies = { module=configure-gcc; on=all-ld; };
@@ -344,11 +346,13 @@ dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; };
dependencies = { module=all-gcc; on=all-libiberty; };
dependencies = { module=all-gcc; on=all-fixincludes; };
+dependencies = { module=all-gcc; on=all-lto-plugin; };
dependencies = { module=info-gcc; on=all-build-libiberty; };
dependencies = { module=dvi-gcc; on=all-build-libiberty; };
dependencies = { module=pdf-gcc; on=all-build-libiberty; };
dependencies = { module=html-gcc; on=all-build-libiberty; };
dependencies = { module=install-gcc ; on=install-fixincludes; };
+dependencies = { module=install-gcc ; on=install-lto-plugin; };
dependencies = { module=install-strip-gcc ; on=install-strip-fixincludes; };
dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; };
@@ -360,7 +364,7 @@ dependencies = { module=all-fixincludes; on=all-libiberty; };
dependencies = { module=all-gnattools; on=all-target-libada; };
-dependencies = { module=all-lto-plugin; on=all-gcc; };
+dependencies = { module=all-lto-plugin; on=all-libiberty; };
dependencies = { module=configure-mpfr; on=all-gmp; };
dependencies = { module=configure-mpc; on=all-mpfr; };
diff --git a/Makefile.in b/Makefile.in
index 945fc5d..660f813 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3,7 +3,7 @@
#
# Makefile for directory with subdirs to build.
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
@@ -45248,7 +45248,7 @@ configure-lto-plugin:
libsrcdir="$$s/lto-plugin"; \
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
- --target=${target_alias} $${srcdiroption} \
+ --target=${target_alias} $${srcdiroption} --enable-shared \
|| exit 1
@endif lto-plugin
@@ -45282,7 +45282,8 @@ configure-stage1-lto-plugin:
$(SHELL) $${libsrcdir}/configure \
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
--target=${target_alias} $${srcdiroption} \
- $(STAGE1_CONFIGURE_FLAGS)
+ $(STAGE1_CONFIGURE_FLAGS) \
+ --enable-shared
@endif lto-plugin-bootstrap
.PHONY: configure-stage2-lto-plugin maybe-configure-stage2-lto-plugin
@@ -45315,7 +45316,8 @@ configure-stage2-lto-plugin:
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
--target=${target_alias} $${srcdiroption} \
--with-build-libsubdir=$(HOST_SUBDIR) \
- $(STAGE2_CONFIGURE_FLAGS)
+ $(STAGE2_CONFIGURE_FLAGS) \
+ --enable-shared
@endif lto-plugin-bootstrap
.PHONY: configure-stage3-lto-plugin maybe-configure-stage3-lto-plugin
@@ -45348,7 +45350,8 @@ configure-stage3-lto-plugin:
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
--target=${target_alias} $${srcdiroption} \
--with-build-libsubdir=$(HOST_SUBDIR) \
- $(STAGE3_CONFIGURE_FLAGS)
+ $(STAGE3_CONFIGURE_FLAGS) \
+ --enable-shared
@endif lto-plugin-bootstrap
.PHONY: configure-stage4-lto-plugin maybe-configure-stage4-lto-plugin
@@ -45381,7 +45384,8 @@ configure-stage4-lto-plugin:
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
--target=${target_alias} $${srcdiroption} \
--with-build-libsubdir=$(HOST_SUBDIR) \
- $(STAGE4_CONFIGURE_FLAGS)
+ $(STAGE4_CONFIGURE_FLAGS) \
+ --enable-shared
@endif lto-plugin-bootstrap
.PHONY: configure-stageprofile-lto-plugin maybe-configure-stageprofile-lto-plugin
@@ -45414,7 +45418,8 @@ configure-stageprofile-lto-plugin:
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
--target=${target_alias} $${srcdiroption} \
--with-build-libsubdir=$(HOST_SUBDIR) \
- $(STAGEprofile_CONFIGURE_FLAGS)
+ $(STAGEprofile_CONFIGURE_FLAGS) \
+ --enable-shared
@endif lto-plugin-bootstrap
.PHONY: configure-stagefeedback-lto-plugin maybe-configure-stagefeedback-lto-plugin
@@ -45447,7 +45452,8 @@ configure-stagefeedback-lto-plugin:
$(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
--target=${target_alias} $${srcdiroption} \
--with-build-libsubdir=$(HOST_SUBDIR) \
- $(STAGEfeedback_CONFIGURE_FLAGS)
+ $(STAGEfeedback_CONFIGURE_FLAGS) \
+ --enable-shared
@endif lto-plugin-bootstrap
@@ -60260,6 +60266,14 @@ configure-stage3-gcc: maybe-configure-stage3-intl
configure-stage4-gcc: maybe-configure-stage4-intl
configure-stageprofile-gcc: maybe-configure-stageprofile-intl
configure-stagefeedback-gcc: maybe-configure-stagefeedback-intl
+configure-gcc: maybe-all-lto-plugin
+
+configure-stage1-gcc: maybe-all-stage1-lto-plugin
+configure-stage2-gcc: maybe-all-stage2-lto-plugin
+configure-stage3-gcc: maybe-all-stage3-lto-plugin
+configure-stage4-gcc: maybe-all-stage4-lto-plugin
+configure-stageprofile-gcc: maybe-all-stageprofile-lto-plugin
+configure-stagefeedback-gcc: maybe-all-stagefeedback-lto-plugin
configure-gcc: maybe-all-binutils
configure-stage1-gcc: maybe-all-stage1-binutils
@@ -60437,6 +60451,14 @@ all-stage4-gcc: maybe-all-stage4-libiberty
all-stageprofile-gcc: maybe-all-stageprofile-libiberty
all-stagefeedback-gcc: maybe-all-stagefeedback-libiberty
all-gcc: maybe-all-fixincludes
+all-gcc: maybe-all-lto-plugin
+
+all-stage1-gcc: maybe-all-stage1-lto-plugin
+all-stage2-gcc: maybe-all-stage2-lto-plugin
+all-stage3-gcc: maybe-all-stage3-lto-plugin
+all-stage4-gcc: maybe-all-stage4-lto-plugin
+all-stageprofile-gcc: maybe-all-stageprofile-lto-plugin
+all-stagefeedback-gcc: maybe-all-stagefeedback-lto-plugin
info-gcc: maybe-all-build-libiberty
info-stage1-gcc: maybe-all-build-libiberty
@@ -60470,6 +60492,7 @@ html-stage4-gcc: maybe-all-build-libiberty
html-stageprofile-gcc: maybe-all-build-libiberty
html-stagefeedback-gcc: maybe-all-build-libiberty
install-gcc: maybe-install-fixincludes
+install-gcc: maybe-install-lto-plugin
install-strip-gcc: maybe-install-strip-fixincludes
configure-libcpp: configure-libiberty
@@ -60505,14 +60528,14 @@ all-stageprofile-libcpp: maybe-all-stageprofile-intl
all-stagefeedback-libcpp: maybe-all-stagefeedback-intl
all-fixincludes: maybe-all-libiberty
all-gnattools: maybe-all-target-libada
-all-lto-plugin: maybe-all-gcc
-
-all-stage1-lto-plugin: maybe-all-stage1-gcc
-all-stage2-lto-plugin: maybe-all-stage2-gcc
-all-stage3-lto-plugin: maybe-all-stage3-gcc
-all-stage4-lto-plugin: maybe-all-stage4-gcc
-all-stageprofile-lto-plugin: maybe-all-stageprofile-gcc
-all-stagefeedback-lto-plugin: maybe-all-stagefeedback-gcc
+all-lto-plugin: maybe-all-libiberty
+
+all-stage1-lto-plugin: maybe-all-stage1-libiberty
+all-stage2-lto-plugin: maybe-all-stage2-libiberty
+all-stage3-lto-plugin: maybe-all-stage3-libiberty
+all-stage4-lto-plugin: maybe-all-stage4-libiberty
+all-stageprofile-lto-plugin: maybe-all-stageprofile-libiberty
+all-stagefeedback-lto-plugin: maybe-all-stagefeedback-libiberty
configure-mpfr: maybe-all-gmp
configure-stage1-mpfr: maybe-all-stage1-gmp
diff --git a/Makefile.tpl b/Makefile.tpl
index f9a2936..7ad0896 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -6,7 +6,7 @@ in
#
# Makefile for directory with subdirs to build.
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
# Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
diff --git a/config/ChangeLog b/config/ChangeLog
index 83eab40..ee4c699 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,12 @@
+2011-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ * cloog.m4 (CLOOG_REQUESTED): Use $2 if --without-cloog.
+
+2011-01-10 Jan Hubicka <jh@suse.cz>
+
+ * bootstrap-lto.mk: -fuse-linker-plugin is default now;
+ pass -fno-lto to STAGEprofile.
+
2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
PR target/40125
@@ -99,8 +108,8 @@
2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
PR bootstrap/43170
- * tls.m4 (GCC_CHECK_TLS): Add volatile qualifier to the test
- references. Move the main () test reference ahead of
+ * tls.m4 (GCC_CHECK_TLS): Add volatile qualifier to the test
+ references. Move the main () test reference ahead of
pthread_create(). Add a comment to explain the requirements
of the test.
@@ -382,7 +391,7 @@
PR bootstrap/32009
* mh-ppc-darwin (BOOT_CFLAGS): Reenable.
-
+
2008-01-08 Jakub Jelinek <jakub@redhat.com>
* futex.m4: New file.
@@ -456,7 +465,7 @@
* acx.m4 (ACX_CHECK_INSTALLED_TARGET_TOOL): Fixup logic for cross
builds.
-
+
2007-06-20 Mike Stump <mrs@apple.com>
* acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Fix incremental builds.
@@ -481,7 +490,7 @@
2007-04-11 Kai Tietz <kai.tietz@onevision.com>
- * stdint.m4: Make template compatible with older cygwin
+ * stdint.m4: Make template compatible with older cygwin
types.h, wrapping each type in a __XXX_t_defined #ifdef.
2007-03-26 H.J. Lu <hongjiu.lu@intel.com>
@@ -585,7 +594,8 @@
2006-07-25 Paolo Bonzini <bonzini@gnu.org>
PR build/26188
- * stdint.m4: Test for uintptr_t even on systems with uint64_t or uint32_t.
+ * stdint.m4: Test for uintptr_t even on systems with uint64_t
+ or uint32_t.
2006-07-21 Steve Ellcey <sje@cup.hp.com>
diff --git a/config/bootstrap-lto.mk b/config/bootstrap-lto.mk
index 59e5c98..9b2c2d2 100644
--- a/config/bootstrap-lto.mk
+++ b/config/bootstrap-lto.mk
@@ -1,5 +1,6 @@
# This option enables LTO for stage2 and stage3. It requires lto to
# be enabled for stage1 with --enable-stage1-languages.
-STAGE2_CFLAGS += -flto=jobserver -fuse-linker-plugin -frandom-seed=1
-STAGE3_CFLAGS += -flto=jobserver -fuse-linker-plugin -frandom-seed=1
+STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1
+STAGE3_CFLAGS += -flto=jobserver -frandom-seed=1
+STAGEprofile_CFLAGS += -fno-lto
diff --git a/config/cloog.m4 b/config/cloog.m4
index e1eb9e8..ec8b46d 100644
--- a/config/cloog.m4
+++ b/config/cloog.m4
@@ -88,7 +88,9 @@ AC_DEFUN([CLOOG_REQUESTED],
[
AC_REQUIRE([CLOOG_INIT_FLAGS])
- if test "x${with_cloog}" != x \
+ if test "x${with_cloog}" = xno; then
+ $2
+ elif test "x${with_cloog}" != x \
|| test "x${with_cloog_include}" != x \
|| test "x${with_cloog_lib}" != x ; then
$1
diff --git a/configure b/configure
index 518fe6a..501c6ff 100755
--- a/configure
+++ b/configure
@@ -5716,8 +5716,8 @@ fi
if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $pplinc $gmpinc"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.10 (or later revision) of PPL" >&5
-$as_echo_n "checking for version 0.10 (or later revision) of PPL... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.11 (or later revision) of PPL" >&5
+$as_echo_n "checking for version 0.11 (or later revision) of PPL... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include "ppl_c.h"
@@ -5725,7 +5725,7 @@ int
main ()
{
- #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
+ #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
choke me
#endif
@@ -5817,6 +5817,23 @@ fi
if test "x$with_ppl" = "xno"; then
+
+
+
+ if test "x${with_cloog}" = xno; then
+ graphite_requested=no
+ elif test "x${with_cloog}" != x \
+ || test "x${with_cloog_include}" != x \
+ || test "x${with_cloog_lib}" != x ; then
+ graphite_requested=yes
+ else
+ graphite_requested=no
+ fi
+
+
+ if test "${graphite_requested}" = yes; then
+ as_fn_error "Unable to find a usable PPL. See config.log for details." "$LINENO" 5
+ fi
with_cloog=no
fi
if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
@@ -5978,8 +5995,8 @@ $as_echo "$gcc_cv_cloog_type" >&6; }
LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}"
if test "${cloog_org}" = yes ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.14.0 of CLooG" >&5
-$as_echo_n "checking for version 0.14.0 of CLooG... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of CLooG" >&5
+$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; }
if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then :
$as_echo_n "(cached) " >&6
else
@@ -5990,8 +6007,8 @@ int
main ()
{
#if CLOOG_VERSION_MAJOR != 0 \
- || CLOOG_VERSION_MINOR != 14 \
- || CLOOG_VERSION_REVISION < 0
+ || CLOOG_VERSION_MINOR != 16 \
+ || CLOOG_VERSION_REVISION < 1
choke me
#endif
;
@@ -6069,7 +6086,9 @@ $as_echo "$gcc_cv_cloog_ct_0_15_5" >&6; }
- if test "x${with_cloog}" != x \
+ if test "x${with_cloog}" = xno; then
+ graphite_requested=no
+ elif test "x${with_cloog}" != x \
|| test "x${with_cloog_include}" != x \
|| test "x${with_cloog_lib}" != x ; then
graphite_requested=yes
@@ -6090,7 +6109,7 @@ $as_echo "$gcc_cv_cloog_ct_0_15_5" >&6; }
&& test "x${clooglibs}" = x \
&& test "x${clooginc}" = x ; then
- as_fn_error "Unable to find a usable CLooG. See config.log for details." "$LINENO" 5
+ as_fn_error "Unable to find a usable CLooG. See config.log for details." "$LINENO" 5
fi
diff --git a/configure.ac b/configure.ac
index d266389..9121d65 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1668,9 +1668,9 @@ ENABLE_PPL_CHECK=yes)
if test "x$with_ppl" != "xno" -a "${ENABLE_PPL_CHECK}" = "yes"; then
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $pplinc $gmpinc"
- AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL])
+ AC_MSG_CHECKING([for version 0.11 (or later revision) of PPL])
AC_TRY_COMPILE([#include "ppl_c.h"],[
- #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
+ #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
choke me
#endif
], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
@@ -1688,6 +1688,11 @@ dnl Provide configure switches and initialize clooginc & clooglibs
dnl with user input.
CLOOG_INIT_FLAGS
if test "x$with_ppl" = "xno"; then
+ dnl Only execute fail-action, if CLooG has been requested.
+ CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
+ if test "${graphite_requested}" = yes; then
+ AC_MSG_ERROR([Unable to find a usable PPL. See config.log for details.])
+ fi
with_cloog=no
fi
if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
@@ -1696,24 +1701,15 @@ if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include '
fi
if test "x$with_cloog" != "xno"; then
- dnl Version check for CLooG-Org
- dnl As long as there is no new release of CLooG,
- dnl we will check for 0.14.0.
- dnl
- dnl The first git revision that will work with
- dnl GCC is: bd91b845a65805c290d43fc1bef8139864a163fb
- dnl This is enforced implictly, as this is the commit that
- dnl introduced the versioning information used within our
- dnl checks.
+ dnl The minimal version of CLooG required for Graphite.
dnl
- dnl If we're using CLooG-Legacy, the provided version information
- dnl will be ignored.
- CLOOG_CHECK_VERSION(0,14,0)
+ dnl If we use CLooG-Legacy, the provided version information is
+ dnl ignored.
+ CLOOG_CHECK_VERSION(0,16,1)
- dnl Only execute fail-action, if CLooG has been
- dnl requested.
+ dnl Only execute fail-action, if CLooG has been requested.
CLOOG_IF_FAILED([
- AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])])
+ AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])])
fi
# Check for LTO support.