diff options
-rw-r--r-- | examples/gcc-4.4/Makefile | 53 | ||||
-rw-r--r-- | examples/gcc-4.4/cpp.p5m | 39 | ||||
-rw-r--r-- | examples/gcc-4.4/g++.p5m | 754 | ||||
-rw-r--r-- | examples/gcc-4.4/gcc-44-runtime.p5m | 36 | ||||
-rw-r--r-- | examples/gcc-4.4/gcc-44.p5m | 44 | ||||
-rw-r--r-- | examples/gcc-4.4/gcc.p5m | 169 | ||||
-rw-r--r-- | examples/gcc-4.4/gfortran.p5m | 78 | ||||
-rw-r--r-- | examples/gcc-4.4/illumos-gcc.p5m | 40 | ||||
-rw-r--r-- | examples/gcc-4.4/libgcc.p5m | 33 | ||||
-rw-r--r-- | examples/gcc-4.4/libgfortran.p5m | 35 | ||||
-rw-r--r-- | examples/gcc-4.4/libgomp.p5m | 33 | ||||
-rw-r--r-- | examples/gcc-4.4/libssp.p5m | 33 | ||||
-rw-r--r-- | examples/gcc-4.4/libstdc++.p5m | 35 | ||||
-rw-r--r-- | examples/gcc-4.4/patches/gcc-4.4.7.illumos.patch | 1165 |
14 files changed, 2547 insertions, 0 deletions
diff --git a/examples/gcc-4.4/Makefile b/examples/gcc-4.4/Makefile new file mode 100644 index 0000000..947ec51 --- /dev/null +++ b/examples/gcc-4.4/Makefile @@ -0,0 +1,53 @@ +include /usr/share/cibs/rules/ips.mk +include /usr/share/cibs/rules/archive.mk +include /usr/share/cibs/rules/autotools.mk +include /usr/share/cibs/rules/patch.mk +include /usr/share/cibs/rules/32.mk + +summary := GNU Compiler Collection +license := GPL +license-file := COPYING + + +# Clean all flags cause we are building very specific stuff +CFLAGS := -O2 +CXXFLAGS := $(CFLAGS) +LDFLAGS := + + +build-depends += \ + library/gmp \ + library/mpfr \ + developer/gnu-binutils \ + developer/macro/gnu-m4 \ + text/gawk \ + developer/parser/bison \ + developer/gperf \ + developer/build/autogen \ + + + +configure-options += \ +--enable-languages='c,c++,fortran' \ +--enable-shared \ +--enable-ssp \ +--enable-static \ +--enable-threads=posix \ +--enable-tls \ +--program-suffix=-4.4 \ +--with-as=/usr/gnu/bin/as \ +--with-gnu-as \ +--with-ld=/usr/bin/ld \ +--without-gnu-ld \ + + +home := http://gcc.gnu.org +name := gcc +version := 4.4.7 +archive := $(name)-$(version).tar.bz2 +download := http://gcc.parentingamerica.com/releases/$(name)-$(version)/$(archive) +checksum := \ + md5:295709feb4441b04e87dea3f1bab4281 \ + sha1:a6c834b0c2f58583da1d093de7a81a20ede9af75 \ + sha256:5ff75116b8f763fa0fb5621af80fc6fb3ea0f1b1a57520874982f03f26cd607f \ + size:63179340 diff --git a/examples/gcc-4.4/cpp.p5m b/examples/gcc-4.4/cpp.p5m new file mode 100644 index 0000000..67a0c22 --- /dev/null +++ b/examples/gcc-4.4/cpp.p5m @@ -0,0 +1,39 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + + +set name=pkg.fmri value=pkg:/developer/gcc/cpp-4.4@$(ips-version) +set name=pkg.summary value="GNU C preprocessor" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + + +dir path=usr +dir path=usr/bin +dir path=usr/share/ +dir path=usr/share/man +dir path=usr/share/man/man1 +file path=usr/bin/cpp-4.4 +file path=usr/libexec/gcc/i386-pc-solaris2.11/4.4.7/cc1 mode=0555 +file path=usr/share/man/man1/cpp-4.4.1 + diff --git a/examples/gcc-4.4/g++.p5m b/examples/gcc-4.4/g++.p5m new file mode 100644 index 0000000..b879eb5 --- /dev/null +++ b/examples/gcc-4.4/g++.p5m @@ -0,0 +1,754 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + + +set name=pkg.fmri value=pkg:/developer/gcc/g++-4.4@$(ips-version) +set name=pkg.summary value="GNU C++ compiler" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +license COPYING3 license=GPLv3 + +depend fmri=pkg:/developer/gcc/gcc-4.4@$(ips-version) type=require +depend fmri=pkg:/library/gcc/libstdc++@$(ips-version) type=require + + +dir path=usr +dir path=usr/bin +dir path=usr/lib +dir path=usr/lib/gcc +dir path=usr/lib/gcc/i386-pc-solaris2.11 +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7 +dir path=usr/share/ +dir path=usr/share/man +dir path=usr/share/man/man1 +file path=usr/bin/i386-pc-solaris2.11-g++-4.4 +file path=usr/libexec/gcc/i386-pc-solaris2.11/4.4.7/cc1plus mode=055 +file path=usr/share/man/man1/g++-4.4.1 +link path=usr/bin/g++-4.4 target=i386-pc-solaris2.11-g++-4.4 + +# libstdc++.so.6 is in a separate package: +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libstdc++.so \ + target=/usr/lib/libstdc++.so.6 +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libstdc++.so \ + target=/usr/lib/amd64/libstdc++.so.6 + +dir path=usr/include/c++/4.4.7 +dir path=usr/include/c++/4.4.7/tr1 +dir path=usr/include/c++/4.4.7/tr1_impl +dir path=usr/include/c++/4.4.7/ext +dir path=usr/include/c++/4.4.7/ext/pb_ds +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_ +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator +dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_ +dir path=usr/include/c++/4.4.7/parallel +dir path=usr/include/c++/4.4.7/debug +dir path=usr/include/c++/4.4.7/backward +dir path=usr/include/c++/4.4.7/bits +dir path=usr/include/c++/4.4.7/i386-pc-solaris2.11 +dir path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64 +dir path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits +dir path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits +file path=usr/include/c++/4.4.7/cstddef +file path=usr/include/c++/4.4.7/tr1/utility +file path=usr/include/c++/4.4.7/tr1/cmath +file path=usr/include/c++/4.4.7/tr1/hashtable.h +file path=usr/include/c++/4.4.7/tr1/wchar.h +file path=usr/include/c++/4.4.7/tr1/stdarg.h +file path=usr/include/c++/4.4.7/tr1/modified_bessel_func.tcc +file path=usr/include/c++/4.4.7/tr1/ctype.h +file path=usr/include/c++/4.4.7/tr1/climits +file path=usr/include/c++/4.4.7/tr1/poly_hermite.tcc +file path=usr/include/c++/4.4.7/tr1/exp_integral.tcc +file path=usr/include/c++/4.4.7/tr1/stdint.h +file path=usr/include/c++/4.4.7/tr1/unordered_map +file path=usr/include/c++/4.4.7/tr1/cstdbool +file path=usr/include/c++/4.4.7/tr1/cstdarg +file path=usr/include/c++/4.4.7/tr1/shared_ptr.h +file path=usr/include/c++/4.4.7/tr1/bessel_function.tcc +file path=usr/include/c++/4.4.7/tr1/complex.h +file path=usr/include/c++/4.4.7/tr1/stdio.h +file path=usr/include/c++/4.4.7/tr1/hypergeometric.tcc +file path=usr/include/c++/4.4.7/tr1/cwctype +file path=usr/include/c++/4.4.7/tr1/memory +file path=usr/include/c++/4.4.7/tr1/limits.h +file path=usr/include/c++/4.4.7/tr1/beta_function.tcc +file path=usr/include/c++/4.4.7/tr1/functional_hash.h +file path=usr/include/c++/4.4.7/tr1/cctype +file path=usr/include/c++/4.4.7/tr1/math.h +file path=usr/include/c++/4.4.7/tr1/stdlib.h +file path=usr/include/c++/4.4.7/tr1/cfloat +file path=usr/include/c++/4.4.7/tr1/ctime +file path=usr/include/c++/4.4.7/tr1/ccomplex +file path=usr/include/c++/4.4.7/tr1/regex +file path=usr/include/c++/4.4.7/tr1/array +file path=usr/include/c++/4.4.7/tr1/cfenv +file path=usr/include/c++/4.4.7/tr1/inttypes.h +file path=usr/include/c++/4.4.7/tr1/functional +file path=usr/include/c++/4.4.7/tr1/fenv.h +file path=usr/include/c++/4.4.7/tr1/float.h +file path=usr/include/c++/4.4.7/tr1/stdbool.h +file path=usr/include/c++/4.4.7/tr1/tgmath.h +file path=usr/include/c++/4.4.7/tr1/complex +file path=usr/include/c++/4.4.7/tr1/unordered_set +file path=usr/include/c++/4.4.7/tr1/cstdio +file path=usr/include/c++/4.4.7/tr1/type_traits +file path=usr/include/c++/4.4.7/tr1/poly_laguerre.tcc +file path=usr/include/c++/4.4.7/tr1/gamma.tcc +file path=usr/include/c++/4.4.7/tr1/ctgmath +file path=usr/include/c++/4.4.7/tr1/cstdlib +file path=usr/include/c++/4.4.7/tr1/random +file path=usr/include/c++/4.4.7/tr1/riemann_zeta.tcc +file path=usr/include/c++/4.4.7/tr1/cinttypes +file path=usr/include/c++/4.4.7/tr1/special_function_util.h +file path=usr/include/c++/4.4.7/tr1/ell_integral.tcc +file path=usr/include/c++/4.4.7/tr1/tuple +file path=usr/include/c++/4.4.7/tr1/cstdint +file path=usr/include/c++/4.4.7/tr1/legendre_function.tcc +file path=usr/include/c++/4.4.7/tr1/cwchar +file path=usr/include/c++/4.4.7/tr1/wctype.h +file path=usr/include/c++/4.4.7/numeric +file path=usr/include/c++/4.4.7/cstdio +file path=usr/include/c++/4.4.7/tr1_impl/regex +file path=usr/include/c++/4.4.7/tr1_impl/cfenv +file path=usr/include/c++/4.4.7/tr1_impl/cwctype +file path=usr/include/c++/4.4.7/tr1_impl/array +file path=usr/include/c++/4.4.7/tr1_impl/hashtable_policy.h +file path=usr/include/c++/4.4.7/tr1_impl/unordered_map +file path=usr/include/c++/4.4.7/tr1_impl/type_traits +file path=usr/include/c++/4.4.7/tr1_impl/functional +file path=usr/include/c++/4.4.7/tr1_impl/cctype +file path=usr/include/c++/4.4.7/tr1_impl/utility +file path=usr/include/c++/4.4.7/tr1_impl/hashtable +file path=usr/include/c++/4.4.7/tr1_impl/functional_hash.h +file path=usr/include/c++/4.4.7/tr1_impl/cmath +file path=usr/include/c++/4.4.7/tr1_impl/cstdint +file path=usr/include/c++/4.4.7/tr1_impl/boost_sp_counted_base.h +file path=usr/include/c++/4.4.7/tr1_impl/cstdlib +file path=usr/include/c++/4.4.7/tr1_impl/unordered_set +file path=usr/include/c++/4.4.7/tr1_impl/random.tcc +file path=usr/include/c++/4.4.7/tr1_impl/cstdio +file path=usr/include/c++/4.4.7/tr1_impl/complex +file path=usr/include/c++/4.4.7/tr1_impl/cinttypes +file path=usr/include/c++/4.4.7/tr1_impl/random +file path=usr/include/c++/4.4.7/tr1_impl/cwchar +file path=usr/include/c++/4.4.7/ext/hash_set +file path=usr/include/c++/4.4.7/ext/rope +file path=usr/include/c++/4.4.7/ext/array_allocator.h +file path=usr/include/c++/4.4.7/ext/string_conversions.h +file path=usr/include/c++/4.4.7/ext/malloc_allocator.h +file path=usr/include/c++/4.4.7/ext/new_allocator.h +file path=usr/include/c++/4.4.7/ext/algorithm +file path=usr/include/c++/4.4.7/ext/mt_allocator.h +file path=usr/include/c++/4.4.7/ext/slist +file path=usr/include/c++/4.4.7/ext/iterator +file path=usr/include/c++/4.4.7/ext/stdio_filebuf.h +file path=usr/include/c++/4.4.7/ext/vstring.h +file path=usr/include/c++/4.4.7/ext/type_traits.h +file path=usr/include/c++/4.4.7/ext/typelist.h +file path=usr/include/c++/4.4.7/ext/cast.h +file path=usr/include/c++/4.4.7/ext/enc_filebuf.h +file path=usr/include/c++/4.4.7/ext/extptr_allocator.h +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_types.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/const_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/entry_pred.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/resize_policy.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/container_base_dispatch.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn/eq_by_less.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_iterators.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/point_iterators.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/child_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/leaf.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/head.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/internal_node.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/lu_map_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/standard_policies.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/node.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/priority_queue_base_dispatch.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/node.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_trace_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/debug_map_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/types_traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cond_dealtor.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/type_utils.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/trie_policy.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/assoc_container.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/tag_and_trait.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/hash_policy.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/priority_queue.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/tree_policy.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/list_update_policy.hpp +file path=usr/include/c++/4.4.7/ext/pb_ds/exception.hpp +file path=usr/include/c++/4.4.7/ext/bitmap_allocator.h +file path=usr/include/c++/4.4.7/ext/concurrence.h +file path=usr/include/c++/4.4.7/ext/hash_map +file path=usr/include/c++/4.4.7/ext/vstring_fwd.h +file path=usr/include/c++/4.4.7/ext/stdio_sync_filebuf.h +file path=usr/include/c++/4.4.7/ext/rb_tree +file path=usr/include/c++/4.4.7/ext/vstring.tcc +file path=usr/include/c++/4.4.7/ext/vstring_util.h +file path=usr/include/c++/4.4.7/ext/atomicity.h +file path=usr/include/c++/4.4.7/ext/pointer.h +file path=usr/include/c++/4.4.7/ext/numeric_traits.h +file path=usr/include/c++/4.4.7/ext/memory +file path=usr/include/c++/4.4.7/ext/codecvt_specializations.h +file path=usr/include/c++/4.4.7/ext/functional +file path=usr/include/c++/4.4.7/ext/rc_string_base.h +file path=usr/include/c++/4.4.7/ext/throw_allocator.h +file path=usr/include/c++/4.4.7/ext/debug_allocator.h +file path=usr/include/c++/4.4.7/ext/ropeimpl.h +file path=usr/include/c++/4.4.7/ext/sso_string_base.h +file path=usr/include/c++/4.4.7/ext/numeric +file path=usr/include/c++/4.4.7/ext/pod_char_traits.h +file path=usr/include/c++/4.4.7/ext/pool_allocator.h +file path=usr/include/c++/4.4.7/climits +file path=usr/include/c++/4.4.7/exception_defines.h +file path=usr/include/c++/4.4.7/stdatomic.h +file path=usr/include/c++/4.4.7/list +file path=usr/include/c++/4.4.7/algorithm +file path=usr/include/c++/4.4.7/thread +file path=usr/include/c++/4.4.7/deque +file path=usr/include/c++/4.4.7/c++0x_warning.h +file path=usr/include/c++/4.4.7/utility +file path=usr/include/c++/4.4.7/cassert +file path=usr/include/c++/4.4.7/parallel/compiletime_settings.h +file path=usr/include/c++/4.4.7/parallel/search.h +file path=usr/include/c++/4.4.7/parallel/numericfwd.h +file path=usr/include/c++/4.4.7/parallel/queue.h +file path=usr/include/c++/4.4.7/parallel/iterator.h +file path=usr/include/c++/4.4.7/parallel/workstealing.h +file path=usr/include/c++/4.4.7/parallel/merge.h +file path=usr/include/c++/4.4.7/parallel/features.h +file path=usr/include/c++/4.4.7/parallel/list_partition.h +file path=usr/include/c++/4.4.7/parallel/partition.h +file path=usr/include/c++/4.4.7/parallel/multiseq_selection.h +file path=usr/include/c++/4.4.7/parallel/algo.h +file path=usr/include/c++/4.4.7/parallel/balanced_quicksort.h +file path=usr/include/c++/4.4.7/parallel/losertree.h +file path=usr/include/c++/4.4.7/parallel/omp_loop.h +file path=usr/include/c++/4.4.7/parallel/for_each_selectors.h +file path=usr/include/c++/4.4.7/parallel/random_shuffle.h +file path=usr/include/c++/4.4.7/parallel/par_loop.h +file path=usr/include/c++/4.4.7/parallel/equally_split.h +file path=usr/include/c++/4.4.7/parallel/base.h +file path=usr/include/c++/4.4.7/parallel/compatibility.h +file path=usr/include/c++/4.4.7/parallel/multiway_mergesort.h +file path=usr/include/c++/4.4.7/parallel/unique_copy.h +file path=usr/include/c++/4.4.7/parallel/algorithm +file path=usr/include/c++/4.4.7/parallel/sort.h +file path=usr/include/c++/4.4.7/parallel/quicksort.h +file path=usr/include/c++/4.4.7/parallel/algorithmfwd.h +file path=usr/include/c++/4.4.7/parallel/random_number.h +file path=usr/include/c++/4.4.7/parallel/types.h +file path=usr/include/c++/4.4.7/parallel/find_selectors.h +file path=usr/include/c++/4.4.7/parallel/omp_loop_static.h +file path=usr/include/c++/4.4.7/parallel/tags.h +file path=usr/include/c++/4.4.7/parallel/partial_sum.h +file path=usr/include/c++/4.4.7/parallel/algobase.h +file path=usr/include/c++/4.4.7/parallel/set_operations.h +file path=usr/include/c++/4.4.7/parallel/settings.h +file path=usr/include/c++/4.4.7/parallel/for_each.h +file path=usr/include/c++/4.4.7/parallel/numeric +file path=usr/include/c++/4.4.7/parallel/multiway_merge.h +file path=usr/include/c++/4.4.7/parallel/checkers.h +file path=usr/include/c++/4.4.7/parallel/parallel.h +file path=usr/include/c++/4.4.7/parallel/basic_iterator.h +file path=usr/include/c++/4.4.7/parallel/find.h +file path=usr/include/c++/4.4.7/random +file path=usr/include/c++/4.4.7/cwchar +file path=usr/include/c++/4.4.7/cxxabi-forced.h +file path=usr/include/c++/4.4.7/vector +file path=usr/include/c++/4.4.7/iostream +file path=usr/include/c++/4.4.7/stack +file path=usr/include/c++/4.4.7/iosfwd +file path=usr/include/c++/4.4.7/debug/map +file path=usr/include/c++/4.4.7/debug/multimap.h +file path=usr/include/c++/4.4.7/debug/multiset.h +file path=usr/include/c++/4.4.7/debug/list +file path=usr/include/c++/4.4.7/debug/unordered_set +file path=usr/include/c++/4.4.7/debug/functions.h +file path=usr/include/c++/4.4.7/debug/macros.h +file path=usr/include/c++/4.4.7/debug/set +file path=usr/include/c++/4.4.7/debug/string +file path=usr/include/c++/4.4.7/debug/set.h +file path=usr/include/c++/4.4.7/debug/safe_iterator.tcc +file path=usr/include/c++/4.4.7/debug/safe_sequence.h +file path=usr/include/c++/4.4.7/debug/bitset +file path=usr/include/c++/4.4.7/debug/formatter.h +file path=usr/include/c++/4.4.7/debug/map.h +file path=usr/include/c++/4.4.7/debug/safe_iterator.h +file path=usr/include/c++/4.4.7/debug/vector +file path=usr/include/c++/4.4.7/debug/deque +file path=usr/include/c++/4.4.7/debug/unordered_map +file path=usr/include/c++/4.4.7/debug/debug.h +file path=usr/include/c++/4.4.7/debug/safe_base.h +file path=usr/include/c++/4.4.7/clocale +file path=usr/include/c++/4.4.7/valarray +file path=usr/include/c++/4.4.7/ostream +file path=usr/include/c++/4.4.7/cfloat +file path=usr/include/c++/4.4.7/chrono +file path=usr/include/c++/4.4.7/iomanip +file path=usr/include/c++/4.4.7/queue +file path=usr/include/c++/4.4.7/unordered_map +file path=usr/include/c++/4.4.7/ccomplex +file path=usr/include/c++/4.4.7/bitset +file path=usr/include/c++/4.4.7/condition_variable +file path=usr/include/c++/4.4.7/tgmath.h +file path=usr/include/c++/4.4.7/cinttypes +file path=usr/include/c++/4.4.7/cstdarg +file path=usr/include/c++/4.4.7/type_traits +file path=usr/include/c++/4.4.7/string +file path=usr/include/c++/4.4.7/streambuf +file path=usr/include/c++/4.4.7/cmath +file path=usr/include/c++/4.4.7/forward_list +file path=usr/include/c++/4.4.7/map +file path=usr/include/c++/4.4.7/fenv.h +file path=usr/include/c++/4.4.7/cwctype +file path=usr/include/c++/4.4.7/stdexcept +file path=usr/include/c++/4.4.7/istream +file path=usr/include/c++/4.4.7/functional +file path=usr/include/c++/4.4.7/ratio +file path=usr/include/c++/4.4.7/limits +file path=usr/include/c++/4.4.7/cxxabi.h +file path=usr/include/c++/4.4.7/tuple +file path=usr/include/c++/4.4.7/cstdbool +file path=usr/include/c++/4.4.7/complex +file path=usr/include/c++/4.4.7/exception_ptr.h +file path=usr/include/c++/4.4.7/memory +file path=usr/include/c++/4.4.7/csetjmp +file path=usr/include/c++/4.4.7/csignal +file path=usr/include/c++/4.4.7/backward/binders.h +file path=usr/include/c++/4.4.7/backward/hash_fun.h +file path=usr/include/c++/4.4.7/backward/strstream +file path=usr/include/c++/4.4.7/backward/hash_set +file path=usr/include/c++/4.4.7/backward/hashtable.h +file path=usr/include/c++/4.4.7/backward/backward_warning.h +file path=usr/include/c++/4.4.7/backward/auto_ptr.h +file path=usr/include/c++/4.4.7/backward/hash_map +file path=usr/include/c++/4.4.7/ios +file path=usr/include/c++/4.4.7/cctype +file path=usr/include/c++/4.4.7/bits/stl_iterator.h +file path=usr/include/c++/4.4.7/bits/atomic_2.h +file path=usr/include/c++/4.4.7/bits/cpp_type_traits.h +file path=usr/include/c++/4.4.7/bits/postypes.h +file path=usr/include/c++/4.4.7/bits/streambuf.tcc +file path=usr/include/c++/4.4.7/bits/istream.tcc +file path=usr/include/c++/4.4.7/bits/stl_list.h +file path=usr/include/c++/4.4.7/bits/valarray_after.h +file path=usr/include/c++/4.4.7/bits/locale_facets_nonio.tcc +file path=usr/include/c++/4.4.7/bits/indirect_array.h +file path=usr/include/c++/4.4.7/bits/algorithmfwd.h +file path=usr/include/c++/4.4.7/bits/stl_raw_storage_iter.h +file path=usr/include/c++/4.4.7/bits/ostream.tcc +file path=usr/include/c++/4.4.7/bits/stl_heap.h +file path=usr/include/c++/4.4.7/bits/stl_iterator_base_funcs.h +file path=usr/include/c++/4.4.7/bits/basic_ios.h +file path=usr/include/c++/4.4.7/bits/basic_string.tcc +file path=usr/include/c++/4.4.7/bits/stl_iterator_base_types.h +file path=usr/include/c++/4.4.7/bits/stl_pair.h +file path=usr/include/c++/4.4.7/bits/slice_array.h +file path=usr/include/c++/4.4.7/bits/stl_algo.h +file path=usr/include/c++/4.4.7/bits/stl_numeric.h +file path=usr/include/c++/4.4.7/bits/stl_multiset.h +file path=usr/include/c++/4.4.7/bits/stl_queue.h +file path=usr/include/c++/4.4.7/bits/move.h +file path=usr/include/c++/4.4.7/bits/valarray_array.h +file path=usr/include/c++/4.4.7/bits/stl_multimap.h +file path=usr/include/c++/4.4.7/bits/locale_facets.tcc +file path=usr/include/c++/4.4.7/bits/unique_ptr.h +file path=usr/include/c++/4.4.7/bits/concept_check.h +file path=usr/include/c++/4.4.7/bits/fstream.tcc +file path=usr/include/c++/4.4.7/bits/stl_bvector.h +file path=usr/include/c++/4.4.7/bits/basic_ios.tcc +file path=usr/include/c++/4.4.7/bits/valarray_array.tcc +file path=usr/include/c++/4.4.7/bits/stl_deque.h +file path=usr/include/c++/4.4.7/bits/stl_stack.h +file path=usr/include/c++/4.4.7/bits/atomic_0.h +file path=usr/include/c++/4.4.7/bits/boost_concept_check.h +file path=usr/include/c++/4.4.7/bits/locale_facets.h +file path=usr/include/c++/4.4.7/bits/stl_uninitialized.h +file path=usr/include/c++/4.4.7/bits/shared_ptr.h +file path=usr/include/c++/4.4.7/bits/mask_array.h +file path=usr/include/c++/4.4.7/bits/vector.tcc +file path=usr/include/c++/4.4.7/bits/stl_construct.h +file path=usr/include/c++/4.4.7/bits/allocator.h +file path=usr/include/c++/4.4.7/bits/stl_tree.h +file path=usr/include/c++/4.4.7/bits/functional_hash.h +file path=usr/include/c++/4.4.7/bits/stream_iterator.h +file path=usr/include/c++/4.4.7/bits/stl_set.h +file path=usr/include/c++/4.4.7/bits/locale_classes.h +file path=usr/include/c++/4.4.7/bits/stl_function.h +file path=usr/include/c++/4.4.7/bits/codecvt.h +file path=usr/include/c++/4.4.7/bits/ios_base.h +file path=usr/include/c++/4.4.7/bits/hashtable.h +file path=usr/include/c++/4.4.7/bits/stl_map.h +file path=usr/include/c++/4.4.7/bits/streambuf_iterator.h +file path=usr/include/c++/4.4.7/bits/valarray_before.h +file path=usr/include/c++/4.4.7/bits/forward_list.tcc +file path=usr/include/c++/4.4.7/bits/char_traits.h +file path=usr/include/c++/4.4.7/bits/stl_algobase.h +file path=usr/include/c++/4.4.7/bits/functexcept.h +file path=usr/include/c++/4.4.7/bits/cmath.tcc +file path=usr/include/c++/4.4.7/bits/localefwd.h +file path=usr/include/c++/4.4.7/bits/gslice.h +file path=usr/include/c++/4.4.7/bits/stl_vector.h +file path=usr/include/c++/4.4.7/bits/stl_relops.h +file path=usr/include/c++/4.4.7/bits/atomicfwd_c.h +file path=usr/include/c++/4.4.7/bits/stl_tempbuf.h +file path=usr/include/c++/4.4.7/bits/gslice_array.h +file path=usr/include/c++/4.4.7/bits/atomicfwd_cxx.h +file path=usr/include/c++/4.4.7/bits/stringfwd.h +file path=usr/include/c++/4.4.7/bits/locale_facets_nonio.h +file path=usr/include/c++/4.4.7/bits/ostream_insert.h +file path=usr/include/c++/4.4.7/bits/list.tcc +file path=usr/include/c++/4.4.7/bits/basic_string.h +file path=usr/include/c++/4.4.7/bits/sstream.tcc +file path=usr/include/c++/4.4.7/bits/deque.tcc +file path=usr/include/c++/4.4.7/bits/locale_classes.tcc +file path=usr/include/c++/4.4.7/bits/forward_list.h +file path=usr/include/c++/4.4.7/ctgmath +file path=usr/include/c++/4.4.7/ciso646 +file path=usr/include/c++/4.4.7/locale +file path=usr/include/c++/4.4.7/mutex +file path=usr/include/c++/4.4.7/new +file path=usr/include/c++/4.4.7/cstdlib +file path=usr/include/c++/4.4.7/cstdint +file path=usr/include/c++/4.4.7/cstdatomic +file path=usr/include/c++/4.4.7/sstream +file path=usr/include/c++/4.4.7/unordered_set +file path=usr/include/c++/4.4.7/array +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/stdtr1c++.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/time_members.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/atomic_word.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/cpu_defines.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/extc++.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/c++allocator.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/basic_file.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr-tpf.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/c++locale.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr-single.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/messages_members.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/ctype_base.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/c++config.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/c++io.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/error_constants.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr-posix.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/os_defines.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr-default.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/cxxabi_tweaks.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/ctype_inline.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/stdc++.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/ctype_noninline.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/ctype_base.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/time_members.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/cpu_defines.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/c++allocator.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/extc++.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/c++io.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/atomic_word.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/error_constants.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/c++config.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/messages_members.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr-tpf.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/c++locale.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/cxxabi_tweaks.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/stdtr1c++.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/basic_file.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr-single.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr-default.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/stdc++.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/ctype_noninline.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/ctype_inline.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/os_defines.h +file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr-posix.h +file path=usr/include/c++/4.4.7/complex.h +file path=usr/include/c++/4.4.7/exception +file path=usr/include/c++/4.4.7/iterator +file path=usr/include/c++/4.4.7/initializer_list +file path=usr/include/c++/4.4.7/cerrno +file path=usr/include/c++/4.4.7/cfenv +file path=usr/include/c++/4.4.7/fstream +file path=usr/include/c++/4.4.7/regex +file path=usr/include/c++/4.4.7/cstring +file path=usr/include/c++/4.4.7/system_error +file path=usr/include/c++/4.4.7/typeinfo +file path=usr/include/c++/4.4.7/ctime +file path=usr/include/c++/4.4.7/set diff --git a/examples/gcc-4.4/gcc-44-runtime.p5m b/examples/gcc-4.4/gcc-44-runtime.p5m new file mode 100644 index 0000000..3a26446 --- /dev/null +++ b/examples/gcc-4.4/gcc-44-runtime.p5m @@ -0,0 +1,36 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + + +set name=pkg.fmri value=pkg:/system/library/gcc-44-runtime@$(ips-version) +set name=pkg.summary value="GCC runtime libraries (transitional package)" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + + +depend fmri=pkg:/library/gcc/libgcc type=require +depend fmri=pkg:/library/gcc/libgfortran type=require +depend fmri=pkg:/library/gcc/libgomp type=require +depend fmri=pkg:/library/gcc/libssp type=require +depend fmri=pkg:/library/gcc/libstdc++ type=require + diff --git a/examples/gcc-4.4/gcc-44.p5m b/examples/gcc-4.4/gcc-44.p5m new file mode 100644 index 0000000..4cbd9f3 --- /dev/null +++ b/examples/gcc-4.4/gcc-44.p5m @@ -0,0 +1,44 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + + +set name=pkg.fmri value=pkg:/developer/gcc-44@$(ips-version) +set name=pkg.summary value="GNU Compiler Collection (transitional package)" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + + +depend fmri=pkg:/developer/gcc/gcc-4.4 type=require +depend fmri=pkg:/developer/gcc/g++-4.4 type=require +depend fmri=pkg:/developer/gcc/gfortran-4.4 type=require + +dir path=usr +dir path=usr/gcc +dir path=usr/gcc/4.4 +dir path=usr/gcc/4.4/bin + +link path=usr/gcc/4.4/bin/gcc target=/usr/bin/gcc-4.4 +link path=usr/gcc/4.4/bin/g++ target=/usr/bin/g++-4.4 +link path=usr/gcc/4.4/bin/cpp target=/usr/bin/cpp-4.4 +link path=usr/gcc/4.4/bin/gfortran target=/usr/bin/gfortran-4.4 + diff --git a/examples/gcc-4.4/gcc.p5m b/examples/gcc-4.4/gcc.p5m new file mode 100644 index 0000000..29e09d3 --- /dev/null +++ b/examples/gcc-4.4/gcc.p5m @@ -0,0 +1,169 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + + +set name=pkg.fmri value=pkg:/developer/gcc/gcc-4.4@$(ips-version) +set name=pkg.summary value="GNU C compiler" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +license COPYING3 license=GPLv3 + +depend fmri=pkg:/developer/gcc/cpp-4.4@$(ips-version) type=require +depend fmri=pkg:/developer/gnu-binutils type=require +depend fmri=pkg:/developer/linker type=require + +depend fmri=pkg:/library/gcc/libssp@$(ips-version) type=require +depend fmri=pkg:/library/gcc/libgomp@$(ips-version) type=require +depend fmri=pkg:/library/gcc/libgcc@$(ips-version) type=require + + +dir path=usr +dir path=usr/bin +dir path=usr/share/ +dir path=usr/share/man +dir path=usr/share/man/man1 + +file path=usr/bin/gcov-4.4 +file path=usr/bin/i386-pc-solaris2.11-gcc-4.4 +file path=usr/share/man/man1/gcc-4.4.1 +file path=usr/share/man/man1/gcov-4.4.1 +link path=usr/bin/gcc-4.4 target=i386-pc-solaris2.11-gcc-4.4 + + +dir path=usr/lib +dir path=usr/lib/gcc +dir path=usr/lib/gcc/i386-pc-solaris2.11 +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7 + + +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgcc.a +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgcc_eh.a +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgcov.a +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgcc.a +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgcc_eh.a +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgcov.a + + +# Move static libraries out of the way: +file usr/lib/libssp.a \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libssp.a +file usr/lib/amd64/libssp.a \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libssp.a + +file usr/lib/libssp_nonshared.a \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libssp_nonshared.a +file usr/lib/amd64/libssp_nonshared.a \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libssp_nonshared.a + +file usr/lib/libgomp.a \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgomp.a +file usr/lib/amd64/libgomp.a \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgomp.a +file usr/lib/libgomp.spec \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgomp.spec +file usr/lib/amd64/libgomp.spec \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgomp.spec + + + +# libgcc_s.so.1 is in a separate package: +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgcc_s.so \ + target=/lib/libgcc_s.so.1 +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgcc_s.so \ + target=/lib/amd64/libgcc_s.so.1 + +# Same for libgomp: +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgomp.so \ + target=/lib/libgomp.so.1 +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgomp.so \ + target=/lib/amd64/libgomp.so.1 + +# Same for libssp: +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libssp.so \ + target=/lib/libssp.so.0 +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libssp.so \ + target=/lib/amd64/libssp.so.0 + + + +file path=usr/libexec/gcc/i386-pc-solaris2.11/4.4.7/collect2 mode=0555 +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/crtbegin.o +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/crtend.o +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/crtbegin.o +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/crtend.o + + +# Fixed includes: +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/arpa +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/iso +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/sys +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/README +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/arpa/nameser_compat.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/complex.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/iso/math_c99.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/limits.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/math.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/string.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/sys/feature_tests.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/sys/varargs.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/syslimits.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/wchar.h + + +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/x86intrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/cpuid.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/iso646.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/avxintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/xmmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/tgmath.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/stddef.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/omp.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/mm_malloc.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/tmmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/wmmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/stdfix.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/cross-stdarg.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/pmmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/smmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/stdbool.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/varargs.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/nmmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/immintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/float.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/mmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/mm3dnow.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/emmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/unwind.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/stdarg.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/bmmintrin.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/mmintrin-common.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp/stdio.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp/ssp.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp/unistd.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp/string.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ammintrin.h + diff --git a/examples/gcc-4.4/gfortran.p5m b/examples/gcc-4.4/gfortran.p5m new file mode 100644 index 0000000..84397b6 --- /dev/null +++ b/examples/gcc-4.4/gfortran.p5m @@ -0,0 +1,78 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + + +set name=pkg.fmri value=pkg:/developer/gcc/gfortran-4.4@$(ips-version) +set name=pkg.summary value="GNU Fortran 95 compiler" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +license COPYING3 license=GPLv3 + +depend fmri=pkg:/developer/gcc/gcc-4.4@$(ips-version) type=require +depend fmri=pkg:/library/gcc/libgfortran@$(ips-version) type=require + + +dir path=usr +dir path=usr/bin +dir path=usr/share/ +dir path=usr/share/man +dir path=usr/share/man/man1 + +file path=usr/bin/i386-pc-solaris2.11-gfortran-4.4 +file path=usr/share/man/man1/gfortran-4.4.1 +link path=usr/bin/gfortran-4.4 target=i386-pc-solaris2.11-gfortran-4.4 + + +dir path=usr/lib +dir path=usr/lib/gcc +dir path=usr/lib/gcc/i386-pc-solaris2.11 +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7 + + +file path=usr/libexec/gcc/i386-pc-solaris2.11/4.4.7/f951 mode=0555 + +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgfortranbegin.a +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgfortranbegin.a + + +# Move static libraries out of the way: +file usr/lib/libgfortran.a \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgfortran.a +file usr/lib/amd64/libgfortran.a \ + path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgfortran.a + + +# libgfortran.so.3 is in a separate package: +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgfortran.so \ + target=/usr/lib/libgfortran.so.3 +link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgfortran.so \ + target=/usr/lib/amd64/libgfortran.so.3 + + +dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude/omp_lib.h +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude/omp_lib.f90 +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude/omp_lib.mod +file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude/omp_lib_kinds.mod + diff --git a/examples/gcc-4.4/illumos-gcc.p5m b/examples/gcc-4.4/illumos-gcc.p5m new file mode 100644 index 0000000..f77e71e --- /dev/null +++ b/examples/gcc-4.4/illumos-gcc.p5m @@ -0,0 +1,40 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + +set name=pkg.fmri value=pkg:/developer/illumos-gcc@$(ips-version) +set name=pkg.summary value="GCC compilers patched for illumos" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +depend fmri=pkg:/developer/gcc/gcc-4.4 type=require +depend fmri=pkg:/developer/gcc/g++-4.4 type=require + +dir path=opt +dir path=opt/gcc +dir path=opt/gcc/4.4.4 +dir path=opt/gcc/4.4.4/bin + +link path=opt/gcc/4.4.4/bin/gcc target=/usr/bin/gcc-4.4 +link path=opt/gcc/4.4.4/bin/g++ target=/usr/bin/g++-4.4 +link path=opt/gcc/4.4.4/bin/cpp target=/usr/bin/cpp-4.4 + diff --git a/examples/gcc-4.4/libgcc.p5m b/examples/gcc-4.4/libgcc.p5m new file mode 100644 index 0000000..f171864 --- /dev/null +++ b/examples/gcc-4.4/libgcc.p5m @@ -0,0 +1,33 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + +set name=pkg.fmri value=pkg:/library/gcc/libgcc@$(ips-version) +set name=pkg.summary value="GCC support library" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +license COPYING.RUNTIME license="GCC runtime" + +file usr/lib/$(MACH64)/libgcc_s.so.1 path=/lib/$(MACH64)/libgcc_s.so.1 +file usr/lib/libgcc_s.so.1 path=/lib/libgcc_s.so.1 + diff --git a/examples/gcc-4.4/libgfortran.p5m b/examples/gcc-4.4/libgfortran.p5m new file mode 100644 index 0000000..f37eecb --- /dev/null +++ b/examples/gcc-4.4/libgfortran.p5m @@ -0,0 +1,35 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + +set name=pkg.fmri value=pkg:/library/gcc/libgfortran@$(ips-version) +set name=pkg.summary value="Runtime library for GNU Fortran applications" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +license COPYING.RUNTIME license="GCC runtime" + +file usr/lib/$(MACH64)/libgfortran.so.3.0.0 path=usr/lib/$(MACH64)/libgfortran.so.3 \ + original_name=pkg:/developer/gcc/gcc-libgfortran +file usr/lib/libgfortran.so.3.0.0 path=usr/lib/libgfortran.so.3 \ + original_name=pkg:/developer/gcc/gcc-libgfortran + diff --git a/examples/gcc-4.4/libgomp.p5m b/examples/gcc-4.4/libgomp.p5m new file mode 100644 index 0000000..d2b95c0 --- /dev/null +++ b/examples/gcc-4.4/libgomp.p5m @@ -0,0 +1,33 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + +set name=pkg.fmri value=pkg:/library/gcc/libgomp@$(ips-version) +set name=pkg.summary value="GCC OpenMP (GOMP) support library" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +license COPYING.RUNTIME license="GCC runtime" + +file usr/lib/$(MACH64)/libgomp.so.1.0.0 path=usr/lib/$(MACH64)/libgomp.1 +file usr/lib/libgomp.so.1.0.0 path=usr//lib/libgomp.1 + diff --git a/examples/gcc-4.4/libssp.p5m b/examples/gcc-4.4/libssp.p5m new file mode 100644 index 0000000..74f9b66 --- /dev/null +++ b/examples/gcc-4.4/libssp.p5m @@ -0,0 +1,33 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + +set name=pkg.fmri value=pkg:/library/gcc/libssp@$(ips-version) +set name=pkg.summary value="GCC stack smashing protection library" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +license COPYING.RUNTIME license="GCC runtime" + +file usr/lib/$(MACH64)/libssp.so.0.0.0 path=/lib/$(MACH64)/libssp.so.0 +file usr/lib/libssp.so.0.0.0 path=/lib/libssp.so.0 + diff --git a/examples/gcc-4.4/libstdc++.p5m b/examples/gcc-4.4/libstdc++.p5m new file mode 100644 index 0000000..477674e --- /dev/null +++ b/examples/gcc-4.4/libstdc++.p5m @@ -0,0 +1,35 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license +# at http://www.opensource.org/licenses/CDDL-1.0 +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each file. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# +# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved. +# + +set name=pkg.fmri value=pkg:/library/gcc/libstdc++@$(ips-version) +set name=pkg.summary value="GNU Standard C++ Library" +set name=info.source-url value=$(download) +set name=info.upstream-url value=$(home) + +license COPYING.RUNTIME license="GCC runtime" + +file usr/lib/$(MACH64)/libstdc++.so.6.0.13 path=usr/lib/$(MACH64)/libstdc++.so.6 \ + original_name=pkg:/developer/gcc/gcc-libstdc +file usr/lib/libstdc++.so.6.0.13 path=usr/lib/libstdc++.so.6 \ + original_name=pkg:/developer/gcc/gcc-libstdc + diff --git a/examples/gcc-4.4/patches/gcc-4.4.7.illumos.patch b/examples/gcc-4.4/patches/gcc-4.4.7.illumos.patch new file mode 100644 index 0000000..e17b58f --- /dev/null +++ b/examples/gcc-4.4/patches/gcc-4.4.7.illumos.patch @@ -0,0 +1,1165 @@ +diff -dubr gcc-4.4.7/fixincludes/fixincl.x gcc-4.4.7.illumos/fixincludes/fixincl.x +--- gcc-4.4.7/fixincludes/fixincl.x 2010-12-13 21:22:09.000000000 +0300 ++++ gcc-4.4.7.illumos/fixincludes/fixincl.x 2012-09-27 21:10:47.000000000 +0400 +@@ -6420,10 +6420,22 @@ + */ + tSCC zSun_Auth_ProtoBypass0[] = + "__cplusplus"; ++tSCC zSun_Auth_ProtoBypass1[] = ++ "pragma ident.*auth.*(1.4[3-9]|1.[5-9][0-9]).*SMI"; ++tSCC zSun_Auth_ProtoBypass2[] = ++ "pragma ident.*clnt.*1.[6-9][0-9].*SMI"; ++tSCC zSun_Auth_ProtoBypass3[] = ++ "pragma ident.*svc.*(1.69|1.[7-9][0-9]).*SMI"; ++tSCC zSun_Auth_ProtoBypass4[] = ++ "pragma ident.*xdr.*(1.4[5-9]|1.[5-9][0-9]).*SMI"; + +-#define SUN_AUTH_PROTO_TEST_CT 2 ++#define SUN_AUTH_PROTO_TEST_CT 6 + static tTestDesc aSun_Auth_ProtoTests[] = { + { TT_NEGREP, zSun_Auth_ProtoBypass0, (regex_t*)NULL }, ++ { TT_NEGREP, zSun_Auth_ProtoBypass1, (regex_t*)NULL }, ++ { TT_NEGREP, zSun_Auth_ProtoBypass2, (regex_t*)NULL }, ++ { TT_NEGREP, zSun_Auth_ProtoBypass3, (regex_t*)NULL }, ++ { TT_NEGREP, zSun_Auth_ProtoBypass4, (regex_t*)NULL }, + { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, }; + + /* +Только в gcc-4.4.7.illumos/fixincludes: fixincl.x.orig +diff -dubr gcc-4.4.7/fixincludes/inclhack.def gcc-4.4.7.illumos/fixincludes/inclhack.def +--- gcc-4.4.7/fixincludes/inclhack.def 2010-12-13 21:22:09.000000000 +0300 ++++ gcc-4.4.7.illumos/fixincludes/inclhack.def 2012-09-27 21:10:47.000000000 +0400 +@@ -3459,6 +3459,21 @@ + */ + select = '\(\*[a-z][a-z_]*\)\(\)'; + ++ /* Solaris 2.8 and above (and perhaps earlier versions) do not ++ need these fixes. The unprototyped declarations in these files ++ are only visible if __STDC__ is not defined. This test looks ++ for a #pragma ident directives with particular versions, since ++ we know those versions are OK. (Earlier versions may also be ++ OK, but we do not know that.) */ ++ /* For rpc/auth.h, 1.43 or better is OK. */ ++ bypass = "pragma ident.*auth.*(1\.4[3-9]|1\.[5-9][0-9]).*SMI"; ++ /* For rpc/clnt.h, 1.60 or better is OK. */ ++ bypass = "pragma ident.*clnt.*1\.[6-9][0-9].*SMI"; ++ /* For rpc/svc.h, 1.69 or better is OK. */ ++ bypass = "pragma ident.*svc.*(1\.69|1\.[7-9][0-9]).*SMI"; ++ /* For rpc/xdr.h, 1.45 or better is OK. */ ++ bypass = "pragma ident.*xdr.*(1\.4[5-9]|1\.[5-9][0-9]).*SMI"; ++ + c_fix = format; + c_fix_arg = "#ifdef __cplusplus\n%1(...);%2\n" + "#else\n%1();%2\n#endif"; +Только в gcc-4.4.7.illumos/fixincludes: inclhack.def.orig +Только в gcc-4.4.7.illumos/gcc: ChangeLog.orig +diff -dubr gcc-4.4.7/gcc/config/i386/i386.c gcc-4.4.7.illumos/gcc/config/i386/i386.c +--- gcc-4.4.7/gcc/config/i386/i386.c 2012-02-22 23:47:42.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/i386/i386.c 2012-09-27 21:10:47.000000000 +0400 +@@ -1654,10 +1654,14 @@ + + saved frame pointer if frame_pointer_needed + <- HARD_FRAME_POINTER +- [saved regs] ++ [-msave-args] + + [padding0] + ++ [saved regs] ++ ++ [padding05] ++ + [saved SSE regs] + + [padding1] \ +@@ -1670,8 +1674,10 @@ + */ + struct ix86_frame + { ++ int nmsave_args; + int padding0; + int nsseregs; ++ int padding05; + int nregs; + int padding1; + int va_arg_size; +@@ -1762,6 +1768,8 @@ + /* Fence to use after loop using movnt. */ + tree x86_mfence; + ++static int ix86_nsaved_args (void); ++ + /* Register class used for passing given 64bit part of the argument. + These represent classes as documented by the PS ABI, with the exception + of SSESF, SSEDF classes, that are basically SSE class, just gcc will +@@ -1819,6 +1827,8 @@ + static bool ix86_can_inline_p (tree, tree); + static void ix86_set_current_function (tree); + ++static void pro_epilogue_adjust_stack (rtx, rtx, rtx, int); ++ + + /* The svr4 ABI for the i386 says that records and unions are returned + in memory. */ +@@ -2869,6 +2879,7 @@ + error ("CPU you selected does not support x86-64 " + "instruction set"); + } ++ + /* Intel CPUs have always interpreted SSE prefetch instructions as + NOPs; so, we can enable SSE prefetch instructions even when + -mtune (rather than -march) points us to a processor that has them. +@@ -3072,6 +3083,9 @@ + if (TARGET_SSE4_2 || TARGET_ABM) + ix86_isa_flags |= OPTION_MASK_ISA_POPCNT & ~ix86_isa_flags_explicit; + ++ if (!TARGET_64BIT && TARGET_SAVE_ARGS) ++ error ("-msave-args makes no sense in the 32-bit mode"); ++ + /* Validate -mpreferred-stack-boundary= value or default it to + PREFERRED_STACK_BOUNDARY_DEFAULT. */ + ix86_preferred_stack_boundary = PREFERRED_STACK_BOUNDARY_DEFAULT; +@@ -7375,8 +7389,8 @@ + return 0; + + ix86_compute_frame_layout (&frame); +- return frame.to_allocate == 0 && frame.padding0 == 0 +- && (frame.nregs + frame.nsseregs) == 0; ++ return frame.to_allocate == 0 && frame.padding05 == 0 && ++ frame.nmsave_args == 0 && (frame.nregs + frame.nsseregs) == 0; + } + + /* Value should be nonzero if functions must have frame pointers. +@@ -7396,6 +7410,9 @@ + if (SUBTARGET_FRAME_POINTER_REQUIRED) + return 1; + ++ if (TARGET_SAVE_ARGS) ++ return 1; ++ + /* In override_options, TARGET_OMIT_LEAF_FRAME_POINTER turns off + the frame pointer by default. Turn it back on now if we've not + got a leaf function. */ +@@ -7761,6 +7778,7 @@ + + frame->nregs = ix86_nsaved_regs (); + frame->nsseregs = ix86_nsaved_sseregs (); ++ frame->nmsave_args = ix86_nsaved_args (); + total_size = size; + + stack_alignment_needed = crtl->stack_alignment_needed / BITS_PER_UNIT; +@@ -7816,6 +7834,11 @@ + else + frame->save_regs_using_mov = false; + ++ if (TARGET_SAVE_ARGS) ++ { ++ cfun->machine->use_fast_prologue_epilogue = true; ++ frame->save_regs_using_mov = true; ++ } + + /* Skip return address and saved base pointer. */ + offset = frame_pointer_needed ? UNITS_PER_WORD * 2 : UNITS_PER_WORD; +@@ -7827,17 +7850,27 @@ + if (stack_realign_fp) + offset = (offset + stack_alignment_needed -1) & -stack_alignment_needed; + ++ /* Argument save area */ ++ if (TARGET_SAVE_ARGS) ++ { ++ offset += frame->nmsave_args * UNITS_PER_WORD; ++ frame->padding0 = (frame->nmsave_args % 2) * UNITS_PER_WORD; ++ offset += frame->padding0; ++ } ++ else ++ frame->padding0 = 0; ++ + /* Register save area */ + offset += frame->nregs * UNITS_PER_WORD; + + /* Align SSE reg save area. */ + if (frame->nsseregs) +- frame->padding0 = ((offset + 16 - 1) & -16) - offset; ++ frame->padding05 = ((offset + 16 - 1) & -16) - offset; + else +- frame->padding0 = 0; ++ frame->padding05 = 0; + + /* SSE register save area. */ +- offset += frame->padding0 + frame->nsseregs * 16; ++ offset += frame->padding05 + frame->nsseregs * 16; + + /* Va-arg area */ + frame->va_arg_size = ix86_varargs_gpr_size + ix86_varargs_fpr_size; +@@ -7888,8 +7921,10 @@ + (size + frame->padding1 + frame->padding2 + + frame->outgoing_arguments_size + frame->va_arg_size); + +- if ((!frame->to_allocate && frame->nregs <= 1) +- || (TARGET_64BIT && frame->to_allocate >= (HOST_WIDE_INT) 0x80000000)) ++ if (!TARGET_SAVE_ARGS ++ && ((!frame->to_allocate && frame->nregs <= 1) ++ || (TARGET_64BIT ++ && frame->to_allocate >= (HOST_WIDE_INT) 0x80000000))) + frame->save_regs_using_mov = false; + + if (!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE +@@ -7899,7 +7934,11 @@ + { + frame->red_zone_size = frame->to_allocate; + if (frame->save_regs_using_mov) +- frame->red_zone_size += frame->nregs * UNITS_PER_WORD; ++ { ++ frame->red_zone_size ++ += (frame->nregs + frame->nmsave_args) * UNITS_PER_WORD; ++ frame->red_zone_size += frame->padding0; ++ } + if (frame->red_zone_size > RED_ZONE_SIZE - RED_ZONE_RESERVE) + frame->red_zone_size = RED_ZONE_SIZE - RED_ZONE_RESERVE; + } +@@ -7912,7 +7951,9 @@ + fprintf (stderr, "size: %ld\n", (long)size); + fprintf (stderr, "nregs: %ld\n", (long)frame->nregs); + fprintf (stderr, "nsseregs: %ld\n", (long)frame->nsseregs); ++ fprintf (stderr, "nmsave_args: %ld\n", (long)frame->nmsave_args); + fprintf (stderr, "padding0: %ld\n", (long)frame->padding0); ++ fprintf (stderr, "padding05: %ld\n", (long)frame->padding05); + fprintf (stderr, "alignment1: %ld\n", (long)stack_alignment_needed); + fprintf (stderr, "padding1: %ld\n", (long)frame->padding1); + fprintf (stderr, "va_arg: %ld\n", (long)frame->va_arg_size); +@@ -7929,6 +7970,7 @@ + #endif + } + ++ + /* Emit code to save registers in the prologue. */ + + static void +@@ -7937,6 +7979,22 @@ + unsigned int regno; + rtx insn; + ++ if (TARGET_SAVE_ARGS) ++ { ++ int i; ++ int nsaved = ix86_nsaved_args (); ++ int start = cfun->returns_struct; ++ for (i = start; i < start + nsaved; i++) ++ { ++ regno = x86_64_int_parameter_registers[i]; ++ insn = emit_insn (gen_push (gen_rtx_REG (Pmode, regno))); ++ RTX_FRAME_RELATED_P (insn) = 1; ++ } ++ if (nsaved % 2 != 0) ++ pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx, ++ GEN_INT (-UNITS_PER_WORD), -1); ++ } ++ + for (regno = FIRST_PSEUDO_REGISTER - 1; regno-- > 0; ) + if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, true)) + { +@@ -7962,6 +8020,24 @@ + RTX_FRAME_RELATED_P (insn) = 1; + offset += UNITS_PER_WORD; + } ++ ++ if (TARGET_SAVE_ARGS) ++ { ++ int i; ++ int nsaved = ix86_nsaved_args (); ++ int start = cfun->returns_struct; ++ if (nsaved % 2 != 0) ++ offset += UNITS_PER_WORD; ++ for (i = start + nsaved - 1; i >= start; i--) ++ { ++ regno = x86_64_int_parameter_registers[i]; ++ insn = emit_move_insn (adjust_address (gen_rtx_MEM (Pmode, pointer), ++ Pmode, offset), ++ gen_rtx_REG (Pmode, regno)); ++ RTX_FRAME_RELATED_P (insn) = 1; ++ offset += UNITS_PER_WORD; ++ } ++ } + } + + /* Emit code to save registers using MOV insns. First register +@@ -8288,12 +8364,13 @@ + RTX_FRAME_RELATED_P (insn) = 1; + } + +- allocate = frame.to_allocate + frame.nsseregs * 16 + frame.padding0; ++ allocate = frame.to_allocate + frame.nsseregs * 16 + frame.padding05; + + if (!frame.save_regs_using_mov) + ix86_emit_save_regs (); + else +- allocate += frame.nregs * UNITS_PER_WORD; ++ allocate += (frame.nregs + frame.nmsave_args) * UNITS_PER_WORD ++ + frame.padding0; + + /* When using red zone we may start register saving before allocating + the stack frame saving one cycle of the prologue. However I will +@@ -8306,7 +8383,8 @@ + && !crtl->stack_realign_needed) + ? hard_frame_pointer_rtx + : stack_pointer_rtx, +- -frame.nregs * UNITS_PER_WORD); ++ -(frame.nregs + frame.nmsave_args) ++ * UNITS_PER_WORD - frame.padding0); + + if (allocate == 0) + ; +@@ -8360,16 +8438,20 @@ + && !(!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE + && (! TARGET_STACK_PROBE || allocate < CHECK_STACK_LIMIT))) + { +- if (!frame_pointer_needed +- || !(frame.to_allocate + frame.padding0) +- || crtl->stack_realign_needed) ++ if (!TARGET_SAVE_ARGS && ++ (!frame_pointer_needed ++ || !(frame.to_allocate + frame.padding05) ++ || crtl->stack_realign_needed)) + ix86_emit_save_regs_using_mov (stack_pointer_rtx, + frame.to_allocate +- + frame.nsseregs * 16 + frame.padding0); ++ + frame.nsseregs * 16 + frame.padding05); + else ++ /* XXX: Does this need help for SSE? */ + ix86_emit_save_regs_using_mov (hard_frame_pointer_rtx, +- -frame.nregs * UNITS_PER_WORD); ++ -(frame.nregs + frame.nmsave_args) ++ * UNITS_PER_WORD - frame.padding0); + } ++ /* XXX: Does these need help for save-args? */ + if (!frame_pointer_needed + || !(frame.to_allocate + frame.padding0) + || crtl->stack_realign_needed) +@@ -8379,7 +8461,7 @@ + ix86_emit_save_sse_regs_using_mov (hard_frame_pointer_rtx, + - frame.nregs * UNITS_PER_WORD + - frame.nsseregs * 16 +- - frame.padding0); ++ - frame.padding05); + + pic_reg_used = false; + if (pic_offset_table_rtx +@@ -8538,11 +8620,11 @@ + must be taken for the normal return case of a function using + eh_return: the eax and edx registers are marked as saved, but not + restored along this path. */ +- offset = frame.nregs; ++ offset = frame.nregs + frame.nmsave_args; + if (crtl->calls_eh_return && style != 2) + offset -= 2; + offset *= -UNITS_PER_WORD; +- offset -= frame.nsseregs * 16 + frame.padding0; ++ offset -= frame.nsseregs * 16 + frame.padding05 + frame.padding0; + + /* If we're only restoring one register and sp is not valid then + using a move instruction to restore the register since it's +@@ -8584,7 +8666,7 @@ + ix86_emit_restore_regs_using_mov (stack_pointer_rtx, + frame.to_allocate + + frame.nsseregs * 16 +- + frame.padding0, style == 2); ++ + frame.padding05, style == 2); + } + else + { +@@ -8593,7 +8675,7 @@ + ix86_emit_restore_regs_using_mov (hard_frame_pointer_rtx, + offset + + frame.nsseregs * 16 +- + frame.padding0, style == 2); ++ + frame.padding05, style == 2); + } + + /* eh_return epilogues need %ecx added to the stack pointer. */ +@@ -8620,18 +8702,20 @@ + { + tmp = gen_rtx_PLUS (Pmode, stack_pointer_rtx, sa); + tmp = plus_constant (tmp, (frame.to_allocate +- + frame.nregs * UNITS_PER_WORD ++ + (frame.nregs + frame.nmsave_args) ++ * UNITS_PER_WORD + + frame.nsseregs * 16 +- + frame.padding0)); ++ + frame.padding05 + frame.padding0)); + emit_insn (gen_rtx_SET (VOIDmode, stack_pointer_rtx, tmp)); + } + } + else if (!frame_pointer_needed) + pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx, + GEN_INT (frame.to_allocate +- + frame.nregs * UNITS_PER_WORD ++ + (frame.nregs + frame.nmsave_args) ++ * UNITS_PER_WORD + + frame.nsseregs * 16 +- + frame.padding0), ++ + frame.padding05 + frame.padding0), + style); + /* If not an i386, mov & pop is faster than "leave". */ + else if (TARGET_USE_LEAVE || optimize_function_for_size_p (cfun) +@@ -8676,12 +8760,17 @@ + pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx, + GEN_INT (frame.to_allocate + + frame.nsseregs * 16 +- + frame.padding0), style); ++ + frame.padding05), style); + } + + for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++) + if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, false)) + emit_insn ((*ix86_gen_pop1) (gen_rtx_REG (Pmode, regno))); ++ ++ /* XXX: Needs adjustment for SSE regs? */ ++ pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx, ++ GEN_INT (frame.nmsave_args * UNITS_PER_WORD ++ + frame.padding0), style); + if (frame_pointer_needed) + { + /* Leave results in shorter dependency chains on CPUs that are +@@ -9110,10 +9199,21 @@ + return CONSTANT_P (x) && legitimate_address_p (Pmode, x, 1); + } + ++/* Return number of arguments to be saved on the stack with ++ -msave-args. */ ++ ++static int ++ix86_nsaved_args (void) ++{ ++ if (TARGET_SAVE_ARGS) ++ return crtl->args.info.regno - cfun->returns_struct; ++ else ++ return 0; ++} ++ + /* Nonzero if the constant value X is a legitimate general operand + when generating PIC code. It is given that flag_pic is on and + that X satisfies CONSTANT_P or is a CONST_DOUBLE. */ +- + bool + legitimate_pic_operand_p (rtx x) + { +Только в gcc-4.4.7.illumos/gcc/config/i386: i386.c.orig +diff -dubr gcc-4.4.7/gcc/config/i386/i386.opt gcc-4.4.7.illumos/gcc/config/i386/i386.opt +--- gcc-4.4.7/gcc/config/i386/i386.opt 2009-02-20 18:20:38.000000000 +0300 ++++ gcc-4.4.7.illumos/gcc/config/i386/i386.opt 2012-09-27 21:10:47.000000000 +0400 +@@ -224,6 +224,10 @@ + Target Report Mask(TLS_DIRECT_SEG_REFS) + Use direct references against %gs when accessing tls data + ++msave-args ++Target Report Mask(SAVE_ARGS) ++Save integer arguments on the stack at function entry ++ + mtune= + Target RejectNegative Joined Var(ix86_tune_string) + Schedule code for given CPU +diff -dubr gcc-4.4.7/gcc/config/i386/sol2-10.h gcc-4.4.7.illumos/gcc/config/i386/sol2-10.h +--- gcc-4.4.7/gcc/config/i386/sol2-10.h 2010-07-15 14:08:56.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/i386/sol2-10.h 2012-09-27 21:10:47.000000000 +0400 +@@ -94,7 +94,7 @@ + %{R*} \ + %{compat-bsd: \ + %{!YP,*:%{p|pg:-Y P,/usr/ucblib/64:/usr/lib/libp/64:/lib/64:/usr/lib/64} \ +- %{!p:%{!pg:-Y P,/usr/ucblib/64:/lib:/usr/lib/64}}} \ ++ %{!p:%{!pg:-Y P,/usr/ucblib/64:/lib/64:/usr/lib/64}}} \ + -R /usr/ucblib/64} \ + %{!compat-bsd: \ + %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/64:/lib/64:/usr/lib/64} \ +diff -dubr gcc-4.4.7/gcc/config/sol2-c.c gcc-4.4.7.illumos/gcc/config/sol2-c.c +--- gcc-4.4.7/gcc/config/sol2-c.c 2007-09-18 02:07:46.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/sol2-c.c 2012-09-27 21:10:47.000000000 +0400 +@@ -114,8 +114,9 @@ + { + tree decl = identifier_global_value (t); + if (decl && DECL_P (decl)) +- warning (0, "%<#pragma align%> must appear before the declaration of " +- "%D, ignoring", decl); ++ decl_attributes (&decl, build_tree_list (get_identifier ("aligned"), ++ build_tree_list (NULL, x)), ++ 0); + else + solaris_pending_aligns = tree_cons (t, build_tree_list (NULL, x), + solaris_pending_aligns); +diff -dubr gcc-4.4.7/gcc/config/sol2.h gcc-4.4.7.illumos/gcc/config/sol2.h +--- gcc-4.4.7/gcc/config/sol2.h 2010-06-02 21:51:29.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/sol2.h 2012-09-27 21:10:47.000000000 +0400 +@@ -123,12 +123,12 @@ + %{YP,*} \ + %{R*} \ + %{compat-bsd: \ +- %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \ +- %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}} \ ++ %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \ ++ %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/lib:/usr/lib}}} \ + -R /usr/ucblib} \ + %{!compat-bsd: \ +- %{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \ +- %{!p:%{!pg:-Y P,/usr/ccs/lib:/usr/lib}}}}" ++ %{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \ ++ %{!p:%{!pg:-Y P,/usr/ccs/lib:/lib:/usr/lib}}}}" + + #undef LINK_ARCH32_SPEC + #define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE +diff -dubr gcc-4.4.7/gcc/config/sparc/sol2-bi.h gcc-4.4.7.illumos/gcc/config/sparc/sol2-bi.h +--- gcc-4.4.7/gcc/config/sparc/sol2-bi.h 2007-10-19 08:29:38.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/sparc/sol2-bi.h 2012-09-27 21:10:47.000000000 +0400 +@@ -172,12 +172,12 @@ + %{YP,*} \ + %{R*} \ + %{compat-bsd: \ +- %{!YP,*:%{p|pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \ +- %{!p:%{!pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/sparcv9}}} \ ++ %{!YP,*:%{p|pg:-Y P,/usr/ucblib/64:/usr/lib/libp/64:/lib/64:/usr/lib/64} \ ++ %{!p:%{!pg:-Y P,/usr/ucblib/64:/lib/64:/usr/lib/64}}} \ + -R /usr/ucblib/sparcv9} \ + %{!compat-bsd: \ +- %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \ +- %{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}}" ++ %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/64:/lib/64:/usr/lib/64} \ ++ %{!p:%{!pg:-Y P,/lib/64:/usr/lib/64}}}}" + + #define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE + +diff -dubr gcc-4.4.7/gcc/config/sparc/sparc.c gcc-4.4.7.illumos/gcc/config/sparc/sparc.c +--- gcc-4.4.7/gcc/config/sparc/sparc.c 2011-06-06 03:20:56.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/sparc/sparc.c 2012-09-27 21:10:47.000000000 +0400 +@@ -2984,6 +2984,9 @@ + if (TARGET_ARCH32 && !optimize + && (mode == DFmode || mode == DImode)) + return 0; ++ if (TARGET_ARCH32 && TARGET_NO_INTEGER_LDD_STD ++ && mode == DImode) ++ return 0; + } + else if (USE_AS_OFFSETABLE_LO10 + && GET_CODE (rs1) == LO_SUM +@@ -6574,7 +6577,8 @@ + + /* If we have legitimate args for ldd/std, we do not want + the split to happen. */ +- if ((REGNO (reg) % 2) == 0 ++ if (!TARGET_NO_INTEGER_LDD_STD ++ && (REGNO (reg) % 2) == 0 + && mem_min_alignment (mem, 8)) + return 0; + +Только в gcc-4.4.7.illumos/gcc/config/sparc: sparc.c.orig +diff -dubr gcc-4.4.7/gcc/config/sparc/sparc.h gcc-4.4.7.illumos/gcc/config/sparc/sparc.h +--- gcc-4.4.7/gcc/config/sparc/sparc.h 2011-05-22 02:05:52.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/sparc/sparc.h 2012-09-27 21:10:47.000000000 +0400 +@@ -2402,3 +2402,5 @@ + + /* We use gcc _mcount for profiling. */ + #define NO_PROFILE_COUNTERS 0 ++ ++#define ASSUME_32BIT_CALLERS sparc_assume_32bit_callers +diff -dubr gcc-4.4.7/gcc/config/sparc/sparc.md gcc-4.4.7.illumos/gcc/config/sparc/sparc.md +--- gcc-4.4.7/gcc/config/sparc/sparc.md 2011-06-09 23:51:17.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/sparc/sparc.md 2012-09-27 21:10:47.000000000 +0400 +@@ -1959,7 +1959,7 @@ + "=o,T,U,o,r,r,r,?T,?f,?f,?o,?f") + (match_operand:DI 1 "input_operand" + " J,U,T,r,o,i,r, f, T, o, f, f"))] +- "! TARGET_V9 ++ "! TARGET_V9 && ! TARGET_NO_INTEGER_LDD_STD + && (register_operand (operands[0], DImode) + || register_or_zero_operand (operands[1], DImode))" + "@ +@@ -1978,12 +1978,36 @@ + [(set_attr "type" "store,store,load,*,*,*,*,fpstore,fpload,*,*,*") + (set_attr "length" "2,*,*,2,2,2,2,*,*,2,2,2")]) + ++(define_insn "*movdi_insn_sp32_nolddstd" ++ [(set (match_operand:DI 0 "nonimmediate_operand" ++ "=o,T,U,o,r,r,r,?T,?f,?f,?o,?f") ++ (match_operand:DI 1 "input_operand" ++ " J,U,T,r,o,i,r, f, T, o, f, f"))] ++ "! TARGET_V9 && TARGET_NO_INTEGER_LDD_STD ++ && (register_operand (operands[0], DImode) ++ || register_or_zero_operand (operands[1], DImode))" ++ "@ ++ # ++ # ++ # ++ # ++ # ++ # ++ # ++ std\t%1, %0 ++ ldd\t%1, %0 ++ # ++ # ++ #" ++ [(set_attr "type" "store,store,load,*,*,*,*,fpstore,fpload,*,*,*") ++ (set_attr "length" "2,2,2,2,2,2,2,*,*,2,2,2")]) ++ + (define_insn "*movdi_insn_sp32_v9" + [(set (match_operand:DI 0 "nonimmediate_operand" + "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?e,?e,?W") + (match_operand:DI 1 "input_operand" + " J,J,U,T,r,o,i,r, f, T, o, f, e, W, e"))] +- "! TARGET_ARCH64 ++ "! TARGET_ARCH64 && ! TARGET_NO_INTEGER_LDD_STD + && TARGET_V9 + && (register_operand (operands[0], DImode) + || register_or_zero_operand (operands[1], DImode))" +@@ -2007,6 +2031,35 @@ + (set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,*,*,*") + (set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")]) + ++ ++(define_insn "*movdi_insn_sp32_v9_nolddstd" ++ [(set (match_operand:DI 0 "nonimmediate_operand" ++ "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?e,?e,?W") ++ (match_operand:DI 1 "input_operand" ++ " J,J,U,T,r,o,i,r, f, T, o, f, e, W, e"))] ++ "! TARGET_ARCH64 && TARGET_V9 && TARGET_NO_INTEGER_LDD_STD ++ && (register_operand (operands[0], DImode) ++ || register_or_zero_operand (operands[1], DImode))" ++ "@ ++ stx\t%%g0, %0 ++ # ++ # ++ # ++ # ++ # ++ # ++ # ++ std\t%1, %0 ++ ldd\t%1, %0 ++ # ++ # ++ fmovd\\t%1, %0 ++ ldd\\t%1, %0 ++ std\\t%1, %0" ++ [(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,fpmove,fpload,fpstore") ++ (set_attr "length" "*,2,2,2,2,2,2,2,*,*,2,2,*,*,*") ++ (set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")]) ++ + (define_insn "*movdi_insn_sp64" + [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,r,m,?e,?e,?W,b") + (match_operand:DI 1 "input_operand" "rI,N,m,rJ,e,W,e,J"))] +@@ -7201,7 +7254,7 @@ + (const_int 0)) + (set (match_operand:SI 1 "memory_operand" "") + (const_int 0))] +- "TARGET_V9 ++ "TARGET_V9 && ! TARGET_NO_INTEGER_LDD_STD + && mems_ok_for_ldd_peep (operands[0], operands[1], NULL_RTX)" + [(set (match_dup 0) + (const_int 0))] +@@ -7212,7 +7265,7 @@ + (const_int 0)) + (set (match_operand:SI 1 "memory_operand" "") + (const_int 0))] +- "TARGET_V9 ++ "TARGET_V9 && ! TARGET_NO_INTEGER_LDD_STD + && mems_ok_for_ldd_peep (operands[1], operands[0], NULL_RTX)" + [(set (match_dup 1) + (const_int 0))] +@@ -7223,7 +7276,8 @@ + (match_operand:SI 1 "memory_operand" "")) + (set (match_operand:SI 2 "register_operand" "") + (match_operand:SI 3 "memory_operand" ""))] +- "registers_ok_for_ldd_peep (operands[0], operands[2]) ++ "! TARGET_NO_INTEGER_LDD_STD ++ && registers_ok_for_ldd_peep (operands[0], operands[2]) + && mems_ok_for_ldd_peep (operands[1], operands[3], operands[0])" + [(set (match_dup 0) + (match_dup 1))] +@@ -7235,7 +7289,8 @@ + (match_operand:SI 1 "register_operand" "")) + (set (match_operand:SI 2 "memory_operand" "") + (match_operand:SI 3 "register_operand" ""))] +- "registers_ok_for_ldd_peep (operands[1], operands[3]) ++ "! TARGET_NO_INTEGER_LDD_STD ++ && registers_ok_for_ldd_peep (operands[1], operands[3]) + && mems_ok_for_ldd_peep (operands[0], operands[2], NULL_RTX)" + [(set (match_dup 0) + (match_dup 1))] +@@ -7247,7 +7302,8 @@ + (match_operand:SF 1 "memory_operand" "")) + (set (match_operand:SF 2 "register_operand" "") + (match_operand:SF 3 "memory_operand" ""))] +- "registers_ok_for_ldd_peep (operands[0], operands[2]) ++ "! TARGET_NO_INTEGER_LDD_STD ++ && registers_ok_for_ldd_peep (operands[0], operands[2]) + && mems_ok_for_ldd_peep (operands[1], operands[3], operands[0])" + [(set (match_dup 0) + (match_dup 1))] +@@ -7259,7 +7315,8 @@ + (match_operand:SF 1 "register_operand" "")) + (set (match_operand:SF 2 "memory_operand" "") + (match_operand:SF 3 "register_operand" ""))] +- "registers_ok_for_ldd_peep (operands[1], operands[3]) ++ "! TARGET_NO_INTEGER_LDD_STD ++ && registers_ok_for_ldd_peep (operands[1], operands[3]) + && mems_ok_for_ldd_peep (operands[0], operands[2], NULL_RTX)" + [(set (match_dup 0) + (match_dup 1))] +@@ -7271,7 +7328,8 @@ + (match_operand:SI 1 "memory_operand" "")) + (set (match_operand:SI 2 "register_operand" "") + (match_operand:SI 3 "memory_operand" ""))] +- "registers_ok_for_ldd_peep (operands[2], operands[0]) ++ "! TARGET_NO_INTEGER_LDD_STD ++ && registers_ok_for_ldd_peep (operands[2], operands[0]) + && mems_ok_for_ldd_peep (operands[3], operands[1], operands[0])" + [(set (match_dup 2) + (match_dup 3))] +@@ -7283,7 +7341,8 @@ + (match_operand:SI 1 "register_operand" "")) + (set (match_operand:SI 2 "memory_operand" "") + (match_operand:SI 3 "register_operand" ""))] +- "registers_ok_for_ldd_peep (operands[3], operands[1]) ++ "! TARGET_NO_INTEGER_LDD_STD ++ && registers_ok_for_ldd_peep (operands[3], operands[1]) + && mems_ok_for_ldd_peep (operands[2], operands[0], NULL_RTX)" + [(set (match_dup 2) + (match_dup 3))] +@@ -7296,7 +7355,8 @@ + (match_operand:SF 1 "memory_operand" "")) + (set (match_operand:SF 2 "register_operand" "") + (match_operand:SF 3 "memory_operand" ""))] +- "registers_ok_for_ldd_peep (operands[2], operands[0]) ++ "! TARGET_NO_INTEGER_LDD_STD ++ && registers_ok_for_ldd_peep (operands[2], operands[0]) + && mems_ok_for_ldd_peep (operands[3], operands[1], operands[0])" + [(set (match_dup 2) + (match_dup 3))] +@@ -7308,7 +7368,8 @@ + (match_operand:SF 1 "register_operand" "")) + (set (match_operand:SF 2 "memory_operand" "") + (match_operand:SF 3 "register_operand" ""))] +- "registers_ok_for_ldd_peep (operands[3], operands[1]) ++ "! TARGET_NO_INTEGER_LDD_STD ++ && registers_ok_for_ldd_peep (operands[3], operands[1]) + && mems_ok_for_ldd_peep (operands[2], operands[0], NULL_RTX)" + [(set (match_dup 2) + (match_dup 3))] +Только в gcc-4.4.7.illumos/gcc/config/sparc: sparc.md.orig +diff -dubr gcc-4.4.7/gcc/config/sparc/sparc.opt gcc-4.4.7.illumos/gcc/config/sparc/sparc.opt +--- gcc-4.4.7/gcc/config/sparc/sparc.opt 2007-08-02 14:49:31.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/config/sparc/sparc.opt 2012-09-27 21:10:47.000000000 +0400 +@@ -38,6 +38,10 @@ + Target Report + Pass -assert pure-text to linker + ++mno-integer-ldd-std ++Target Report RejectNegative Mask(NO_INTEGER_LDD_STD) ++Utilize integer ldd and std ++ + mapp-regs + Target Report Mask(APP_REGS) + Use ABI reserved registers +@@ -102,6 +106,10 @@ + Target Report RejectNegative Var(sparc_std_struct_return) + Enable strict 32-bit psABI struct return checking. + ++massume-32bit-callers ++Target Report Var(sparc_assume_32bit_callers) ++Allow 64bit sparcv9 code to function with 32bit sparcv7 direct callers. ++ + Mask(LITTLE_ENDIAN) + ;; Generate code for little-endian + +diff -dubr gcc-4.4.7/gcc/config.gcc gcc-4.4.7.illumos/gcc/config.gcc +--- gcc-4.4.7/gcc/config.gcc 2011-02-19 00:39:51.000000000 +0300 ++++ gcc-4.4.7.illumos/gcc/config.gcc 2012-09-27 21:10:47.000000000 +0400 +@@ -1237,6 +1237,8 @@ + "":*:yes | yes:*:yes ) + thread_file=solaris + ;; ++ *) ++ extra_parts="gmon.o crtbegin.o crtend.o" + esac + ;; + i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae) +Только в gcc-4.4.7.illumos/gcc: config.gcc.orig +diff -dubr gcc-4.4.7/gcc/cp/g++spec.c gcc-4.4.7.illumos/gcc/cp/g++spec.c +--- gcc-4.4.7/gcc/cp/g++spec.c 2009-02-20 18:20:38.000000000 +0300 ++++ gcc-4.4.7.illumos/gcc/cp/g++spec.c 2012-09-27 21:10:52.000000000 +0400 +@@ -260,7 +260,7 @@ + #endif + + /* Make sure to have room for the trailing NULL argument. */ +- num_args = argc + added + need_math + shared_libgcc + (library > 0) + 1; ++ num_args = argc + added + need_math + shared_libgcc + 2 * (library > 0) + 1; + arglist = XNEWVEC (const char *, num_args); + + i = 0; +diff -dubr gcc-4.4.7/gcc/cp/Make-lang.in gcc-4.4.7.illumos/gcc/cp/Make-lang.in +--- gcc-4.4.7/gcc/cp/Make-lang.in 2009-09-09 12:46:32.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/cp/Make-lang.in 2012-09-27 21:10:52.000000000 +0400 +@@ -55,7 +55,7 @@ + g++spec.o: $(srcdir)/cp/g++spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) $(CONFIG_H) + (SHLIB_LINK='$(SHLIB_LINK)'; \ + $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \ +- $(INCLUDES) $(srcdir)/cp/g++spec.c) ++ -DLIBDIR=\"$(libdir)\" $(INCLUDES) $(srcdir)/cp/g++spec.c) + + # Create the compiler driver for g++. + GXX_OBJS = $(GCC_OBJS) g++spec.o intl.o prefix.o version.o +diff -dubr gcc-4.4.7/gcc/doc/cpp.texi gcc-4.4.7.illumos/gcc/doc/cpp.texi +--- gcc-4.4.7/gcc/doc/cpp.texi 2008-08-05 21:24:37.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/doc/cpp.texi 2012-09-27 21:10:52.000000000 +0400 +@@ -3508,8 +3508,6 @@ + official GNU extensions either. What historical information we have + been able to find, suggests they originated with System V@. + +-Both @samp{#ident} and @samp{#sccs} are deprecated extensions. +- + @cindex null directive + The @dfn{null directive} consists of a @samp{#} followed by a newline, + with only whitespace (including comments) in between. A null directive +diff -dubr gcc-4.4.7/gcc/doc/invoke.texi gcc-4.4.7.illumos/gcc/doc/invoke.texi +--- gcc-4.4.7/gcc/doc/invoke.texi 2011-03-24 01:02:12.000000000 +0300 ++++ gcc-4.4.7.illumos/gcc/doc/invoke.texi 2012-09-27 21:10:52.000000000 +0400 +@@ -793,7 +793,8 @@ + -mfaster-structs -mno-faster-structs @gol + -mfpu -mno-fpu -mhard-float -msoft-float @gol + -mhard-quad-float -msoft-quad-float @gol +--mimpure-text -mno-impure-text -mlittle-endian @gol ++-mimpure-text -mno-impure-text @gol ++-mno-integer-ldd-std -mlittle-endian @gol + -mstack-bias -mno-stack-bias @gol + -munaligned-doubles -mno-unaligned-doubles @gol + -mv8plus -mno-v8plus -mvis -mno-vis +@@ -11549,6 +11550,10 @@ + @opindex mcmodel=large + Generate code for the large model: This model makes no assumptions + about addresses and sizes of sections. ++ ++@item -msave-args ++@opindex msave-args ++Save integer arguments on the stack at function entry. + @end table + + @node i386 and x86-64 Windows Options +@@ -15178,6 +15183,23 @@ + @opindex mno-vis + With @option{-mvis}, GCC generates code that takes advantage of the UltraSPARC + Visual Instruction Set extensions. The default is @option{-mno-vis}. ++ ++@item -mno-integer-ldd-std ++@opindex mno-integer-ldd-std ++With @option{-mno-integer-ldd-std}, GCC does not use the @code{ldd} ++and @code{std} instructions for integer operands in 32-bit mode. This ++is for use with legacy code using 64-bit quantities which are not ++64-bit aligned. ++ ++@item -massume-32bit-callers ++@opindex massume-32bit-callers ++With @option{-massume-32bit-callers}, The type promotion of function ++arguments is altered such that integer arguments smaller than the word ++size are extended in the callee rather than the caller. This is ++necessary for system calls from 32bit processes to 64bit kernels in ++certain systems. This option should not be used in any situation ++other than compiling the kernels of such systems, and has not been ++tested outside of that scenario. + @end table + + These @samp{-m} options are supported in addition to the above +Только в gcc-4.4.7.illumos/gcc/doc: invoke.texi.orig +diff -dubr gcc-4.4.7/gcc/dwarf2.h gcc-4.4.7.illumos/gcc/dwarf2.h +--- gcc-4.4.7/gcc/dwarf2.h 2009-04-10 03:23:07.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/dwarf2.h 2012-09-27 21:10:52.000000000 +0400 +@@ -377,6 +377,8 @@ + DW_AT_GNU_vector = 0x2107, + /* VMS extensions. */ + DW_AT_VMS_rtnbeg_pd_address = 0x2201, ++ /* Sun extension. */ ++ DW_AT_SUN_amd64_parmdump = 0x2224, + /* UPC extension. */ + DW_AT_upc_threads_scaled = 0x3210, + /* PGI (STMicroelectronics) extensions. */ +diff -dubr gcc-4.4.7/gcc/dwarf2out.c gcc-4.4.7.illumos/gcc/dwarf2out.c +--- gcc-4.4.7/gcc/dwarf2out.c 2011-04-08 01:27:59.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/dwarf2out.c 2012-09-27 21:10:53.000000000 +0400 +@@ -9362,10 +9362,6 @@ + + base_type_result = new_die (DW_TAG_base_type, comp_unit_die, type); + +- /* This probably indicates a bug. */ +- if (! TYPE_NAME (type)) +- add_name_attribute (base_type_result, "__unknown__"); +- + add_AT_unsigned (base_type_result, DW_AT_byte_size, + int_size_in_bytes (type)); + add_AT_unsigned (base_type_result, DW_AT_encoding, encoding); +@@ -9541,6 +9537,21 @@ + ((is_const_type ? TYPE_QUAL_CONST : 0) + | (is_volatile_type ? TYPE_QUAL_VOLATILE : 0))); + ++ if (qualified_type == sizetype ++ && TYPE_NAME (qualified_type) ++ && TREE_CODE (TYPE_NAME (qualified_type)) == TYPE_DECL) ++ { ++#ifdef ENABLE_CHECKING ++ gcc_assert (TREE_CODE (TREE_TYPE (TYPE_NAME (qualified_type))) ++ == INTEGER_TYPE ++ && TYPE_PRECISION (TREE_TYPE (TYPE_NAME (qualified_type))) ++ == TYPE_PRECISION (qualified_type) ++ && TYPE_UNSIGNED (TREE_TYPE (TYPE_NAME (qualified_type))) ++ == TYPE_UNSIGNED (qualified_type)); ++#endif ++ qualified_type = TREE_TYPE (TYPE_NAME (qualified_type)); ++ } ++ + /* If we do, then we can just use its DIE, if it exists. */ + if (qualified_type) + { +@@ -9638,6 +9649,9 @@ + name = DECL_NAME (name); + add_name_attribute (mod_type_die, IDENTIFIER_POINTER (name)); + } ++ /* This probably indicates a bug. */ ++ else if (mod_type_die->die_tag == DW_TAG_base_type) ++ add_name_attribute (mod_type_die, "__unknown__"); + + if (qualified_type) + equate_type_number_to_die (qualified_type, mod_type_die); +@@ -13941,6 +13955,10 @@ + /* Add the calling convention attribute if requested. */ + add_calling_convention_attribute (subr_die, decl); + ++#ifdef TARGET_SAVE_ARGS ++ if (TARGET_SAVE_ARGS) ++ add_AT_flag (subr_die, DW_AT_SUN_amd64_parmdump, 1); ++#endif + } + + /* Returns a hash value for X (which really is a die_struct). */ +@@ -15525,9 +15543,6 @@ + + if (TREE_CODE (decl) == TYPE_DECL || TREE_CODE (decl) == CONST_DECL) + { +- if (is_base_type (TREE_TYPE (decl))) +- at_import_die = base_type_die (TREE_TYPE (decl)); +- else + at_import_die = force_type_die (TREE_TYPE (decl)); + /* For namespace N { typedef void T; } using N::T; base_type_die + returns NULL, but DW_TAG_imported_declaration requires +diff -dubr gcc-4.4.7/gcc/expr.c gcc-4.4.7.illumos/gcc/expr.c +--- gcc-4.4.7/gcc/expr.c 2011-07-21 13:39:16.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/expr.c 2012-09-27 21:10:53.000000000 +0400 +@@ -79,6 +79,10 @@ + #endif + #endif + ++#ifndef ASSUME_32BIT_CALLERS ++#define ASSUME_32BIT_CALLERS 0 ++#endif ++ + + /* If this is nonzero, we do not bother generating VOLATILE + around volatile memory references, and we are willing to +@@ -7361,7 +7365,8 @@ + same mode we got when the variable was declared. */ + pmode = promote_mode (type, DECL_MODE (exp), &unsignedp, + (TREE_CODE (exp) == RESULT_DECL +- || TREE_CODE (exp) == PARM_DECL) ? 1 : 0); ++ || (!ASSUME_32BIT_CALLERS && ++ TREE_CODE (exp) == PARM_DECL)) ? 1 : 0); + gcc_assert (GET_MODE (decl_rtl) == pmode); + + temp = gen_lowpart_SUBREG (mode, decl_rtl); +Только в gcc-4.4.7.illumos/gcc: expr.c.orig +diff -dubr gcc-4.4.7/gcc/function.c gcc-4.4.7.illumos/gcc/function.c +--- gcc-4.4.7/gcc/function.c 2010-08-17 00:24:54.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/function.c 2012-09-27 21:10:53.000000000 +0400 +@@ -83,6 +83,10 @@ + #define NAME__MAIN "__main" + #endif + ++#ifndef ASSUME_32BIT_CALLERS ++#define ASSUME_32BIT_CALLERS 0 ++#endif ++ + /* Round a value to the lowest integer less than it that is a multiple of + the required alignment. Avoid using division in case the value is + negative. Assume the alignment is a power of two. */ +@@ -2789,7 +2793,8 @@ + /* This is not really promoting for a call. However we need to be + consistent with assign_parm_find_data_types and expand_expr_real_1. */ + promoted_nominal_mode +- = promote_mode (data->nominal_type, data->nominal_mode, &unsignedp, 1); ++ = promote_mode (data->nominal_type, data->nominal_mode, &unsignedp, ++ ASSUME_32BIT_CALLERS ? 0 : 1); + + parmreg = gen_reg_rtx (promoted_nominal_mode); + +Только в gcc-4.4.7.illumos/gcc: function.c.orig +diff -dubr gcc-4.4.7/gcc/Makefile.in gcc-4.4.7.illumos/gcc/Makefile.in +--- gcc-4.4.7/gcc/Makefile.in 2010-09-07 15:07:31.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/Makefile.in 2012-09-27 21:10:53.000000000 +0400 +@@ -4725,7 +4725,7 @@ + # script does that. + .po.gmo: + $(mkinstalldirs) po +- $(GMSGFMT) --statistics -o $@ $< ++ $(GMSGFMT) -o $@ $< + + # The new .po has to be gone over by hand, so we deposit it into + # build/po with a different extension. +Только в gcc-4.4.7.illumos/gcc/testsuite: ChangeLog.orig +diff -dubr gcc-4.4.7/gcc/testsuite/gcc.dg/pragma-align-2.c gcc-4.4.7.illumos/gcc/testsuite/gcc.dg/pragma-align-2.c +--- gcc-4.4.7/gcc/testsuite/gcc.dg/pragma-align-2.c 2008-09-23 13:42:50.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/testsuite/gcc.dg/pragma-align-2.c 2012-09-27 21:10:53.000000000 +0400 +@@ -25,9 +25,9 @@ + #pragma align bad_align /* { dg-warning "malformed" } */ + #pragma align 1(bad_align /* { dg-warning "malformed" } */ + +-int x, x1, x2, x4, x8, y8, z8, x16, x32, x64, x128, y128, z128; ++int x1, x2, x4, x8, y8, z8, x16, y16, x32, x64, x128, y128, z128; + +-#pragma align 16(x) /* { dg-warning "must appear before" } */ ++#pragma align 16(y16) + + int + main () +@@ -47,6 +47,9 @@ + if (__alignof__ (x16) < 16) + abort (); + ++ if (__alignof__ (y16) < 16) ++ abort (); ++ + if (__alignof__ (x32) < 32) + abort (); + +diff -dubr gcc-4.4.7/gcc/testsuite/lib/gcc-dg.exp gcc-4.4.7.illumos/gcc/testsuite/lib/gcc-dg.exp +--- gcc-4.4.7/gcc/testsuite/lib/gcc-dg.exp 2009-04-22 15:35:25.000000000 +0400 ++++ gcc-4.4.7.illumos/gcc/testsuite/lib/gcc-dg.exp 2012-09-27 21:11:00.000000000 +0400 +@@ -343,6 +343,37 @@ + } + } + ++# ARGS is a list. The 0th element is the line number at which the ++# dg-forbid-option directive appeared in the source file. The 1st ++# element is a regular expression. If the regular expression matches ++# the command-line options implied by the current multilib, then the ++# test will be treated as unsupported. The 2nd element of the list, ++# if present, is a target selector conditionalizing this directive; ++# if the target selector does not match the current target, this ++# dg-forbid-option directive is ignored. ++ ++proc dg-forbid-option { args } { ++ set target_name [target_info name] ++ set pattern [lindex $args 1] ++ ++ if {[llength $args] > 2} { ++ set selector [lindex $args 2] ++ if { [dg-process-target $selector] == "N" } { ++ return ++ } ++ } ++ ++ # Check to see if the option occurs in the multilib options ++ # for this target. ++ if {[board_info $target_name exists multilib_flags]} { ++ set multilib_flags [board_info $target_name multilib_flags] ++ if { [regexp -- ${pattern} $multilib_flags] } { ++ upvar dg-do-what dg-do-what ++ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"] ++ } ++ } ++} ++ + # Prune any messages matching ARGS[1] (a regexp) from test output. + proc dg-prune-output { args } { + global additional_prunes +diff -dubr gcc-4.4.7/gcc/varasm.c gcc-4.4.7.illumos/gcc/varasm.c +--- gcc-4.4.7/gcc/varasm.c 2010-01-20 14:27:49.000000000 +0300 ++++ gcc-4.4.7.illumos/gcc/varasm.c 2012-09-27 21:11:00.000000000 +0400 +@@ -5484,6 +5484,9 @@ + #endif + } + ++ if (TREE_ASM_WRITTEN (decl)) ++ return; ++ + /* We must force creation of DECL_RTL for debug info generation, even though + we don't use it here. */ + make_decl_rtl (decl); +diff -dubr gcc-4.4.7/intl/configure gcc-4.4.7.illumos/intl/configure +--- gcc-4.4.7/intl/configure 2010-10-02 15:40:32.000000000 +0400 ++++ gcc-4.4.7.illumos/intl/configure 2012-09-27 21:11:00.000000000 +0400 +@@ -1557,8 +1557,8 @@ + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then +- if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && +- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ++ if $ac_dir/$ac_word /dev/null >/dev/null 2>&1 && ++ (if $ac_dir/$ac_word /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi +@@ -1761,8 +1761,8 @@ + + + if test "$GMSGFMT" != ":"; then +- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && +- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ++ if $GMSGFMT /dev/null >/dev/null 2>&1 && ++ (if $GMSGFMT /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + : ; + else + GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` +Только в gcc-4.4.7.illumos/libcpp: ChangeLog.orig +diff -dubr gcc-4.4.7/libcpp/directives.c gcc-4.4.7.illumos/libcpp/directives.c +--- gcc-4.4.7/libcpp/directives.c 2011-01-05 02:18:52.000000000 +0300 ++++ gcc-4.4.7.illumos/libcpp/directives.c 2012-09-27 21:11:00.000000000 +0400 +@@ -152,11 +152,11 @@ + D(pragma, T_PRAGMA, STDC89, IN_I) /* 195 */ \ + D(warning, T_WARNING, EXTENSION, 0) /* 22 */ \ + D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) /* 19 */ \ +-D(ident, T_IDENT, EXTENSION, IN_I | DEPRECATED) /* 11 */ \ ++D(ident, T_IDENT, EXTENSION, IN_I) /* 11 */ \ + D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* 0 ObjC */ \ + D(assert, T_ASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \ + D(unassert, T_UNASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \ +-D(sccs, T_SCCS, EXTENSION, IN_I | DEPRECATED) /* 0 SVR4? */ ++D(sccs, T_SCCS, EXTENSION, IN_I) /* 0 SVR4? */ + + /* #sccs is synonymous with #ident. */ + #define do_sccs do_ident +diff -dubr gcc-4.4.7/libstdc++-v3/acinclude.m4 gcc-4.4.7.illumos/libstdc++-v3/acinclude.m4 +--- gcc-4.4.7/libstdc++-v3/acinclude.m4 2009-05-06 13:00:57.000000000 +0400 ++++ gcc-4.4.7.illumos/libstdc++-v3/acinclude.m4 2012-09-27 21:11:00.000000000 +0400 +@@ -2444,7 +2444,11 @@ + old_CXXFLAGS="$CXXFLAGS" + + # Compile unoptimized. +- CXXFLAGS='-O0 -S' ++ # XXX: On sparc, use the lowest practical CPU level # to avoid false positives ++ case $host in ++ sparc*-*solaris*) CXXFLAGGS='-O0 -S -mcpu=v8';; ++ *) CXXFLAGS='-O0 -S';; ++ esac + + # Fake what AC_TRY_COMPILE does, without linking as this is + # unnecessary for a builtins test. +diff -dubr gcc-4.4.7/libstdc++-v3/configure gcc-4.4.7.illumos/libstdc++-v3/configure +--- gcc-4.4.7/libstdc++-v3/configure 2009-08-26 23:04:11.000000000 +0400 ++++ gcc-4.4.7.illumos/libstdc++-v3/configure 2012-09-27 21:11:00.000000000 +0400 +@@ -14758,7 +14758,11 @@ + old_CXXFLAGS="$CXXFLAGS" + + # Compile unoptimized. +- CXXFLAGS='-O0 -S' ++ # XXX: On sparc, use the lowest practical CPU level # to avoid false positives ++ case $host in ++ sparc*-*solaris*) CXXFLAGS='-O0 -S -mcpu=v8';; ++ *) CXXFLAGS='-O0 -S';; ++ esac + + # Fake what AC_TRY_COMPILE does, without linking as this is + # unnecessary for a builtins test. +Только в gcc-4.4.7.illumos/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char: 12.cc.orig |