patches/gcc/4.2.1/100-uclibc-conf.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Apr 19 16:17:11 2009 +0000 (2009-04-19)
branchnewlib
changeset 1365 c4d124ed9f8e
permissions -rw-r--r--
Update the newlib devel branch with stuf from /trunk.

-------- diffstat follows --------
/devel/newlib/configure | 8 4 4 0
/devel/newlib/scripts/build/kernel/linux.sh | 2 1 1 0
/devel/newlib/scripts/build/cc/gcc.sh | 34 22 12 0 +
/devel/newlib/scripts/build/debug/300-gdb.sh | 52 45 7 0 +
/devel/newlib/scripts/build/libc/uClibc.sh | 6 3 3 0
/devel/newlib/scripts/build/mpfr.sh | 2 1 1 0
/devel/newlib/scripts/crosstool-NG.sh.in | 20 18 2 0 +
/devel/newlib/scripts/functions | 44 34 10 0 +
/devel/newlib/patches/glibc/2_9/500-ppc-glibc-2.9-atomic.patch | 414 0 414 0 ----------
/devel/newlib/patches/glibc/2_9/140-regex-BZ9697.patch | 111 0 111 0 ---
/devel/newlib/patches/glibc/2_9/190-queue-header-updates.patch | 89 0 89 0 --
/devel/newlib/patches/glibc/2_9/370-hppa_glibc-2.7-hppa-nptl-carlos.patch | 249 0 249 0 ------
/devel/newlib/patches/glibc/2_9/450-alpha-glibc-2.5-no-page-header.patch | 32 0 32 0 -
/devel/newlib/patches/glibc/2_9/330-2.3.3-china.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/270-ldbl-nexttowardf.patch | 68 0 68 0 --
/devel/newlib/patches/glibc/2_9/410-2.9-fnmatch.patch | 64 0 64 0 --
/devel/newlib/patches/glibc/2_9/340-new-valencian-locale.patch | 120 0 120 0 ---
/devel/newlib/patches/glibc/2_9/350-2.4-undefine-__i686.patch | 47 0 47 0 -
/devel/newlib/patches/glibc/2_9/160-i386-x86_64-revert-clone-cfi.patch | 53 0 53 0 -
/devel/newlib/patches/glibc/2_9/150-regex-BZ697.patch | 28 0 28 0 -
/devel/newlib/patches/glibc/2_9/420-dont-build-timezone.patch | 19 0 19 0 -
/devel/newlib/patches/glibc/2_9/290-no-inline-gmon.patch | 38 0 38 0 -
/devel/newlib/patches/glibc/2_9/280-section-comments.patch | 29 0 29 0 -
/devel/newlib/patches/glibc/2_9/180-math-tests.patch | 72 0 72 0 --
/devel/newlib/patches/glibc/2_9/250-resolv-dynamic.patch | 44 0 44 0 -
/devel/newlib/patches/glibc/2_9/120-_nss_dns_gethostbyaddr2_r-check-and-adjust-the-buffer-alignment.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/300-2.9-check_native-headers.patch | 22 0 22 0 -
/devel/newlib/patches/glibc/2_9/130-add_prio-macros.patch | 26 0 26 0 -
/devel/newlib/patches/glibc/2_9/310-2.3.6-fix-pr631.patch | 50 0 50 0 -
/devel/newlib/patches/glibc/2_9/510-sh-no-asm-user-header.patch | 70 0 70 0 --
/devel/newlib/patches/glibc/2_9/260-fadvise64_64.patch | 30 0 30 0 -
/devel/newlib/patches/glibc/2_9/440-alpha-glibc-2.4-xstat.patch | 249 0 249 0 ------
/devel/newlib/patches/glibc/2_9/170-2.10-dns-no-gethostbyname4.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/230-2.3.3-localedef-fix-trampoline.patch | 74 0 74 0 --
/devel/newlib/patches/glibc/2_9/480-alpha-glibc-2.8-cache-shape.patch | 18 0 18 0 -
/devel/newlib/patches/glibc/2_9/360-2.8-nscd-one-fork.patch | 45 0 45 0 -
/devel/newlib/patches/glibc/2_9/210-2.9-strlen-hack.patch | 109 0 109 0 ---
/devel/newlib/patches/glibc/2_9/320-2.9-assume-pipe2.patch | 59 0 59 0 -
/devel/newlib/patches/glibc/2_9/100-ssp-compat.patch | 193 0 193 0 -----
/devel/newlib/patches/glibc/2_9/110-respect-env-CPPFLAGS.patch | 30 0 30 0 -
/devel/newlib/patches/glibc/2_9/220-manual-no-perl.patch | 29 0 29 0 -
/devel/newlib/patches/glibc/2_9/390-2.3.3_pre20040117-pt_pax.patch | 35 0 35 0 -
/devel/newlib/patches/glibc/2_9/460-alpha-glibc-2.5-no-asm-elf-header.patch | 38 0 38 0 -
/devel/newlib/patches/glibc/2_9/400-tests-sandbox-libdl-paths.patch | 198 0 198 0 -----
/devel/newlib/patches/glibc/2_9/520-sh-no-asm-elf-header.patch | 27 0 27 0 -
/devel/newlib/patches/glibc/2_9/240-i386-LOAD_PIC_REG.patch | 23 0 23 0 -
/devel/newlib/patches/glibc/2_9/200-awk-in-C-locale.patch | 23 0 23 0 -
/devel/newlib/patches/glibc/2_9/430-2.7-cross-compile-nptl.patch | 57 0 57 0 -
/devel/newlib/patches/glibc/2_9/380-2.3.6-dl_execstack-PaX-support.patch | 71 0 71 0 --
/devel/newlib/patches/glibc/2_9/490-ptr-mangling.patch | 114 0 114 0 ---
/devel/newlib/patches/glibc/2_9/470-alpha-glibc-2.8-creat.patch | 19 0 19 0 -
/devel/newlib/patches/glibc/ports-2_9/100-arm_linux_tls.patch | 14 0 14 0 -
/devel/newlib/patches/uClibc/0.9.30.1/140-gnu89-inline.patch | 2 1 1 0
/devel/newlib/docs/known-issues.txt | 16 15 1 0 +
/devel/newlib/docs/overview.txt | 2 1 1 0
/devel/newlib/samples/armeb-unknown-linux-uclibc/uClibc-0.9.30.config | 243 0 243 0 ------
/devel/newlib/samples/armeb-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/sh4-unknown-linux-gnu/crosstool.config | 35 18 17 0 +
/devel/newlib/samples/x86_64-unknown-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/arm-unknown-elf/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/armeb-unknown-eabi/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/arm-unknown-linux-gnueabi/crosstool.config | 113 73 40 0 +--
/devel/newlib/samples/ia64-unknown-linux-gnu/crosstool.config | 91 61 30 0 +-
/devel/newlib/samples/x86_64-unknown-linux-uclibc/uClibc-0.9.30.config | 245 0 245 0 ------
/devel/newlib/samples/x86_64-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/armeb-unknown-linux-gnueabi/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 96 63 33 0 +-
/devel/newlib/samples/i686-nptl-linux-gnu/crosstool.config | 78 48 30 0 +-
/devel/newlib/samples/arm-unknown-linux-gnu/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-unknown-linux-gnu/crosstool.config | 103 67 36 0 +-
/devel/newlib/samples/mips-unknown-linux-uclibc/uClibc-0.9.30.config | 254 0 254 0 ------
/devel/newlib/samples/mips-unknown-linux-uclibc/crosstool.config | 77 54 23 0 +-
/devel/newlib/samples/arm-unknown-linux-uclibcgnueabi/uClibc-0.9.30.config | 253 0 253 0 ------
/devel/newlib/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/arm-iphone-linux-gnueabi/crosstool.config | 84 57 27 0 +-
/devel/newlib/samples/armeb-unknown-linux-gnu/crosstool.config | 105 69 36 0 +--
/devel/newlib/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/i586-geode-linux-uclibc/uClibc-0.9.30.config | 263 0 263 0 ------
/devel/newlib/samples/i586-geode-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/arm-unknown-linux-uclibc/uClibc-0.9.30.config | 253 0 253 0 ------
/devel/newlib/samples/arm-unknown-linux-uclibc/crosstool.config | 78 55 23 0 +-
/devel/newlib/samples/powerpc-unknown-linux-uclibc/uClibc-0.9.30.config | 248 0 248 0 ------
/devel/newlib/samples/powerpc-unknown-linux-uclibc/crosstool.config | 77 54 23 0 +-
/devel/newlib/samples/mips-unknown-elf/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/powerpc-405-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 26 13 13 0
/devel/newlib/samples/arm-unknown-eabi/crosstool.config | 54 47 7 0 +
/devel/newlib/samples/mipsel-unknown-linux-gnu/crosstool.config | 104 68 36 0 +--
/devel/newlib/samples/powerpc64-unknown-linux-gnu/crosstool.config | 75 49 26 0 +-
/devel/newlib/samples/alphaev56-unknown-linux-gnu/crosstool.config | 94 63 31 0 +-
/devel/newlib/samples/powerpc-860-linux-gnu/crosstool.config | 102 67 35 0 +-
/devel/newlib/config/kernel/linux.in | 87 46 41 0 +-
/devel/newlib/config/cc/gcc.in | 35 30 5 0 +
/devel/newlib/config/debug/gdb.in | 2 1 1 0
94 files changed, 1851 insertions(+), 5813 deletions(-)
yann@313
     1
diff -durN gcc-4.2.1.orig/boehm-gc/configure gcc-4.2.1/boehm-gc/configure
yann@313
     2
--- gcc-4.2.1.orig/boehm-gc/configure	2007-07-19 16:33:56.000000000 +0200
yann@313
     3
+++ gcc-4.2.1/boehm-gc/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
     4
@@ -4323,7 +4323,7 @@
yann@313
     5
   ;;
yann@313
     6
 
yann@313
     7
 # This must be Linux ELF.
yann@313
     8
-linux-gnu*)
yann@313
     9
+linux*)
yann@313
    10
   lt_cv_deplibs_check_method=pass_all
yann@313
    11
   ;;
yann@313
    12
 
yann@313
    13
diff -durN gcc-4.2.1.orig/contrib/regression/objs-gcc.sh gcc-4.2.1/contrib/regression/objs-gcc.sh
yann@313
    14
--- gcc-4.2.1.orig/contrib/regression/objs-gcc.sh	2005-08-15 02:41:31.000000000 +0200
yann@313
    15
+++ gcc-4.2.1/contrib/regression/objs-gcc.sh	2007-08-03 20:29:22.000000000 +0200
yann@313
    16
@@ -105,6 +105,10 @@
yann@313
    17
  then
yann@313
    18
   make all-gdb all-dejagnu all-ld || exit 1
yann@313
    19
   make install-gdb install-dejagnu install-ld || exit 1
yann@313
    20
+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
yann@313
    21
+ then
yann@313
    22
+  make all-gdb all-dejagnu all-ld || exit 1
yann@313
    23
+  make install-gdb install-dejagnu install-ld || exit 1
yann@313
    24
 elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
yann@313
    25
   make bootstrap || exit 1
yann@313
    26
   make install || exit 1
yann@313
    27
diff -durN gcc-4.2.1.orig/gcc/config/cris/linux.h gcc-4.2.1/gcc/config/cris/linux.h
yann@313
    28
--- gcc-4.2.1.orig/gcc/config/cris/linux.h	2006-02-18 12:12:51.000000000 +0100
yann@313
    29
+++ gcc-4.2.1/gcc/config/cris/linux.h	2007-08-03 20:29:22.000000000 +0200
yann@313
    30
@@ -74,7 +74,11 @@
yann@313
    31
 #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
yann@313
    32
 
yann@313
    33
 #undef CRIS_SUBTARGET_VERSION
yann@313
    34
-#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
yann@313
    35
+#if UCLIBC_DEFAULT
yann@313
    36
+# define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
yann@313
    37
+#else
yann@313
    38
+# define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
yann@313
    39
+#endif
yann@313
    40
 
yann@313
    41
 #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
yann@313
    42
 
yann@313
    43
diff -durN gcc-4.2.1.orig/libffi/configure gcc-4.2.1/libffi/configure
yann@313
    44
--- gcc-4.2.1.orig/libffi/configure	2007-07-19 16:33:56.000000000 +0200
yann@313
    45
+++ gcc-4.2.1/libffi/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
    46
@@ -3460,7 +3460,7 @@
yann@313
    47
   ;;
yann@313
    48
 
yann@313
    49
 # This must be Linux ELF.
yann@313
    50
-linux-gnu*)
yann@313
    51
+linux*)
yann@313
    52
   lt_cv_deplibs_check_method=pass_all
yann@313
    53
   ;;
yann@313
    54
 
yann@313
    55
diff -durN gcc-4.2.1.orig/libgfortran/configure gcc-4.2.1/libgfortran/configure
yann@313
    56
--- gcc-4.2.1.orig/libgfortran/configure	2007-07-19 16:33:56.000000000 +0200
yann@313
    57
+++ gcc-4.2.1/libgfortran/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
    58
@@ -3721,7 +3721,7 @@
yann@313
    59
   ;;
yann@313
    60
 
yann@313
    61
 # This must be Linux ELF.
yann@313
    62
-linux-gnu*)
yann@313
    63
+linux*)
yann@313
    64
   lt_cv_deplibs_check_method=pass_all
yann@313
    65
   ;;
yann@313
    66
 
yann@313
    67
diff -durN gcc-4.2.1.orig/libgomp/configure gcc-4.2.1/libgomp/configure
yann@313
    68
--- gcc-4.2.1.orig/libgomp/configure	2007-07-19 16:33:56.000000000 +0200
yann@313
    69
+++ gcc-4.2.1/libgomp/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
    70
@@ -3893,7 +3893,7 @@
yann@313
    71
   ;;
yann@313
    72
 
yann@313
    73
 # This must be Linux ELF.
yann@313
    74
-linux-gnu*)
yann@313
    75
+linux*)
yann@313
    76
   lt_cv_deplibs_check_method=pass_all
yann@313
    77
   ;;
yann@313
    78
 
yann@313
    79
diff -durN gcc-4.2.1.orig/libjava/classpath/configure gcc-4.2.1/libjava/classpath/configure
yann@313
    80
--- gcc-4.2.1.orig/libjava/classpath/configure	2007-01-17 19:10:26.000000000 +0100
yann@313
    81
+++ gcc-4.2.1/libjava/classpath/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
    82
@@ -5307,7 +5307,7 @@
yann@313
    83
   ;;
yann@313
    84
 
yann@313
    85
 # This must be Linux ELF.
yann@313
    86
-linux-gnu*)
yann@313
    87
+linux*)
yann@313
    88
   lt_cv_deplibs_check_method=pass_all
yann@313
    89
   ;;
yann@313
    90
 
yann@313
    91
diff -durN gcc-4.2.1.orig/libjava/classpath/ltconfig gcc-4.2.1/libjava/classpath/ltconfig
yann@313
    92
--- gcc-4.2.1.orig/libjava/classpath/ltconfig	2006-08-07 22:37:50.000000000 +0200
yann@313
    93
+++ gcc-4.2.1/libjava/classpath/ltconfig	2007-08-03 20:29:22.000000000 +0200
yann@313
    94
@@ -603,7 +603,7 @@
yann@313
    95
 
yann@313
    96
 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
yann@313
    97
 case $host_os in
yann@313
    98
-linux-gnu*) ;;
yann@313
    99
+linux-gnu*|linux-uclibc*) ;;
yann@313
   100
 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
yann@313
   101
 esac
yann@313
   102
 
yann@313
   103
@@ -1251,7 +1251,7 @@
yann@313
   104
   ;;
yann@313
   105
 
yann@313
   106
 # This must be Linux ELF.
yann@313
   107
-linux-gnu*)
yann@313
   108
+linux*)
yann@313
   109
   version_type=linux
yann@313
   110
   need_lib_prefix=no
yann@313
   111
   need_version=no
yann@313
   112
diff -durN gcc-4.2.1.orig/libjava/configure gcc-4.2.1/libjava/configure
yann@313
   113
--- gcc-4.2.1.orig/libjava/configure	2007-07-19 16:33:56.000000000 +0200
yann@313
   114
+++ gcc-4.2.1/libjava/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
   115
@@ -5424,7 +5424,7 @@
yann@313
   116
   ;;
yann@313
   117
 
yann@313
   118
 # This must be Linux ELF.
yann@313
   119
-linux-gnu*)
yann@313
   120
+linux*)
yann@313
   121
   lt_cv_deplibs_check_method=pass_all
yann@313
   122
   ;;
yann@313
   123
 
yann@313
   124
diff -durN gcc-4.2.1.orig/libmudflap/configure gcc-4.2.1/libmudflap/configure
yann@313
   125
--- gcc-4.2.1.orig/libmudflap/configure	2006-12-04 12:13:07.000000000 +0100
yann@313
   126
+++ gcc-4.2.1/libmudflap/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
   127
@@ -5394,7 +5394,7 @@
yann@313
   128
   ;;
yann@313
   129
 
yann@313
   130
 # This must be Linux ELF.
yann@313
   131
-linux-gnu*)
yann@313
   132
+linux*)
yann@313
   133
   lt_cv_deplibs_check_method=pass_all
yann@313
   134
   ;;
yann@313
   135
 
yann@313
   136
diff -durN gcc-4.2.1.orig/libobjc/configure gcc-4.2.1/libobjc/configure
yann@313
   137
--- gcc-4.2.1.orig/libobjc/configure	2006-10-15 09:42:57.000000000 +0200
yann@313
   138
+++ gcc-4.2.1/libobjc/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
   139
@@ -3314,7 +3314,7 @@
yann@313
   140
   ;;
yann@313
   141
 
yann@313
   142
 # This must be Linux ELF.
yann@313
   143
-linux-gnu*)
yann@313
   144
+linux*)
yann@313
   145
   lt_cv_deplibs_check_method=pass_all
yann@313
   146
   ;;
yann@313
   147
 
yann@313
   148
diff -durN gcc-4.2.1.orig/libssp/configure gcc-4.2.1/libssp/configure
yann@313
   149
--- gcc-4.2.1.orig/libssp/configure	2006-10-15 09:42:57.000000000 +0200
yann@313
   150
+++ gcc-4.2.1/libssp/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
   151
@@ -4480,7 +4480,7 @@
yann@313
   152
   ;;
yann@313
   153
 
yann@313
   154
 # This must be Linux ELF.
yann@313
   155
-linux-gnu*)
yann@313
   156
+linux*)
yann@313
   157
   lt_cv_deplibs_check_method=pass_all
yann@313
   158
   ;;
yann@313
   159
 
yann@313
   160
diff -durN gcc-4.2.1.orig/libstdc++-v3/configure gcc-4.2.1/libstdc++-v3/configure
yann@313
   161
--- gcc-4.2.1.orig/libstdc++-v3/configure	2007-06-29 01:02:05.000000000 +0200
yann@313
   162
+++ gcc-4.2.1/libstdc++-v3/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
   163
@@ -4283,7 +4283,7 @@
yann@313
   164
   ;;
yann@313
   165
 
yann@313
   166
 # This must be Linux ELF.
yann@313
   167
-linux-gnu*)
yann@313
   168
+linux*)
yann@313
   169
   lt_cv_deplibs_check_method=pass_all
yann@313
   170
   ;;
yann@313
   171
 
yann@313
   172
diff -durN gcc-4.2.1.orig/libtool.m4 gcc-4.2.1/libtool.m4
yann@313
   173
--- gcc-4.2.1.orig/libtool.m4	2005-07-16 04:30:53.000000000 +0200
yann@313
   174
+++ gcc-4.2.1/libtool.m4	2007-08-03 20:29:22.000000000 +0200
yann@313
   175
@@ -739,7 +739,7 @@
yann@313
   176
   ;;
yann@313
   177
 
yann@313
   178
 # This must be Linux ELF.
yann@313
   179
-linux-gnu*)
yann@313
   180
+linux*)
yann@313
   181
   lt_cv_deplibs_check_method=pass_all
yann@313
   182
   ;;
yann@313
   183
 
yann@313
   184
diff -durN gcc-4.2.1.orig/ltconfig gcc-4.2.1/ltconfig
yann@313
   185
--- gcc-4.2.1.orig/ltconfig	2007-02-14 18:08:35.000000000 +0100
yann@313
   186
+++ gcc-4.2.1/ltconfig	2007-08-03 20:29:22.000000000 +0200
yann@313
   187
@@ -603,7 +603,7 @@
yann@313
   188
 
yann@313
   189
 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
yann@313
   190
 case $host_os in
yann@313
   191
-linux-gnu*) ;;
yann@313
   192
+linux-gnu*|linux-uclibc*) ;;
yann@313
   193
 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
yann@313
   194
 esac
yann@313
   195
 
yann@313
   196
@@ -1251,7 +1251,7 @@
yann@313
   197
   ;;
yann@313
   198
 
yann@313
   199
 # This must be Linux ELF.
yann@313
   200
-linux-gnu*)
yann@313
   201
+linux*)
yann@313
   202
   version_type=linux
yann@313
   203
   need_lib_prefix=no
yann@313
   204
   need_version=no
yann@313
   205
diff -durN gcc-4.2.1.orig/zlib/configure gcc-4.2.1/zlib/configure
yann@313
   206
--- gcc-4.2.1.orig/zlib/configure	2007-01-17 19:10:26.000000000 +0100
yann@313
   207
+++ gcc-4.2.1/zlib/configure	2007-08-03 20:29:22.000000000 +0200
yann@313
   208
@@ -3429,7 +3429,7 @@
yann@313
   209
   ;;
yann@313
   210
 
yann@313
   211
 # This must be Linux ELF.
yann@313
   212
-linux-gnu*)
yann@313
   213
+linux*)
yann@313
   214
   lt_cv_deplibs_check_method=pass_all
yann@313
   215
   ;;
yann@313
   216