Discussion:
[Open64-devel] Compile errors occur while building open64-5.0
Nancy
2014-08-20 01:55:38 UTC
Permalink
Hi,

OS: Ubuntu kylin, gcc-4.8.2

$../open64/./configure --target=ia64-unknown-linux-gnu
--with-build-optimize=debug --with-build-compiler=GNU
--prefix=/home/nancy/toolchains/open64

$make
....
C++
/home/nancy/work/build-open64/osprey/targdir/be//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_cfg.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_util.h:308,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_cfg.cxx:68:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning: #warning
This file includes at least one deprecated or antiquated header which may
be removed without further notice at a future date. Please use a
non-deprecated interface with equivalent functionality instead. For a
listing of replacement headers and interfaces, consult the file
backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
#warning \
^
C++
/home/nancy/work/build-open64/osprey/targdir/be//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_util.h:308,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx:81:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning: #warning
This file includes at least one deprecated or antiquated header which may
be removed without further notice at a future date. Please use a
non-deprecated interface with equivalent functionality instead. For a
listing of replacement headers and interfaces, consult the file
backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx:86:0:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:
In instantiation of ¡®void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::Unwind()
[with WHIRL = WN*]¡¯:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:489:14:
required from ¡®void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::WN_TREE_next()
[with WHIRL = WN*]¡¯
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:429:46:
required from ¡®WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::self&
WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::operator++() [with WHIRL = WN*;
WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::self = WN_TREE_ITER<(TRAV_ORDER)0u,
WN*>]¡¯
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx:522:52:
required from here
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
error: ¡®Set_wn¡¯ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: declarations in dependent base ¡®WN_TREE_ITER_base<WN*>¡¯ are not found
by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: use ¡®this->Set_wn¡¯ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
error: ¡®Set_wn¡¯ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: declarations in dependent base ¡®WN_TREE_ITER_base<WN*>¡¯ are not found
by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: use ¡®this->Set_wn¡¯ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:
In instantiation of ¡®void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::Unwind()
[with WHIRL = const WN*]¡¯:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:489:14:
required from ¡®void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::WN_TREE_next()
[with WHIRL = const WN*]¡¯
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:429:46:
required from ¡®WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::self&
WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::operator++() [with WHIRL = const WN*;
WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::self = WN_TREE_ITER<(TRAV_ORDER)0u,
const WN*>]¡¯
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx:3576:60:
required from here
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
error: ¡®Set_wn¡¯ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: declarations in dependent base ¡®WN_TREE_ITER_base<const WN*>¡¯ are not
found by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: use ¡®this->Set_wn¡¯ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
error: ¡®Set_wn¡¯ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: declarations in dependent base ¡®WN_TREE_ITER_base<const WN*>¡¯ are not
found by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: use ¡®this->Set_wn¡¯ instead
make[3]: *** [fb_whirl.o] ŽíÎó 1
make[3]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64/osprey/targdir/be'
make[2]: *** [default] ŽíÎó 2
make[2]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64/osprey/targdir/be'
make[1]: *** [be.so] ŽíÎó 2
make[1]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64'
make: *** [build] ŽíÎó 2
--
Best Regards,
Yu Rong Tan
Nancy
2014-08-20 02:01:58 UTC
Permalink
Hi,

OS: Ubuntu kylin, gcc-4.8.2

$../open64/./configure --target=ia64-unknown-linux-gnu
--with-build-optimize=debug --with-build-compiler=GNU
--prefix=/home/nancy/toolchains/open64

$make
....
C++
/home/nancy/work/build-open64/osprey/targdir/be//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_cfg.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_util.h:308,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_cfg.cxx:68:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning: #warning
This file includes at least one deprecated or antiquated header which may
be removed without further notice at a future date. Please use a
non-deprecated interface with equivalent functionality instead. For a
listing of replacement headers and interfaces, consult the file
backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
#warning \
^
C++
/home/nancy/work/build-open64/osprey/targdir/be//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_util.h:308,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx:81:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning: #warning
This file includes at least one deprecated or antiquated header which may
be removed without further notice at a future date. Please use a
non-deprecated interface with equivalent functionality instead. For a
listing of replacement headers and interfaces, consult the file
backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx:86:0:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:
In instantiation of ¡®void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::Unwind()
[with WHIRL = WN*]¡¯:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:489:14:
required from ¡®void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::WN_TREE_next()
[with WHIRL = WN*]¡¯
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:429:46:
required from ¡®WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::self&
WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::operator++() [with WHIRL = WN*;
WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::self = WN_TREE_ITER<(TRAV_ORDER)0u,
WN*>]¡¯
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx:522:52:
required from here
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
error: ¡®Set_wn¡¯ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: declarations in dependent base ¡®WN_TREE_ITER_base<WN*>¡¯ are not found
by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: use ¡®this->Set_wn¡¯ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
error: ¡®Set_wn¡¯ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: declarations in dependent base ¡®WN_TREE_ITER_base<WN*>¡¯ are not found
by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: use ¡®this->Set_wn¡¯ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:
In instantiation of ¡®void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::Unwind()
[with WHIRL = const WN*]¡¯:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:489:14:
required from ¡®void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::WN_TREE_next()
[with WHIRL = const WN*]¡¯
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:429:46:
required from ¡®WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::self&
WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::operator++() [with WHIRL = const WN*;
WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::self = WN_TREE_ITER<(TRAV_ORDER)0u,
const WN*>]¡¯
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/com/fb_whirl.cxx:3576:60:
required from here
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
error: ¡®Set_wn¡¯ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: declarations in dependent base ¡®WN_TREE_ITER_base<const WN*>¡¯ are not
found by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: use ¡®this->Set_wn¡¯ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
error: ¡®Set_wn¡¯ was not declared in this scope, and no declarations were
found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: declarations in dependent base ¡®WN_TREE_ITER_base<const WN*>¡¯ are not
found by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: use ¡®this->Set_wn¡¯ instead
make[3]: *** [fb_whirl.o] ŽíÎó 1
make[3]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64/osprey/targdir/be'
make[2]: *** [default] ŽíÎó 2
make[2]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64/osprey/targdir/be'
make[1]: *** [be.so] ŽíÎó 2
make[1]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64'
make: *** [build] ŽíÎó 2
--
Best Regards,
Yu Rong Tan
Jian-Xin Lai
2014-08-20 05:43:07 UTC
Permalink
Nancy
2014-08-20 13:47:01 UTC
Permalink
gcc 4.8 is too new to compile the open64 5.0.
David Coakley
2014-08-20 22:06:10 UTC
Permalink
Hello,

There is an easy fix for the getopts issue. If one of the Open64
gatekeepers can approve the following patch, I will check it in.

-David

Commit message:

Update gen_x_set to use modern Perl.

Index: osprey/common/util/gen_x_set
===================================================================
--- osprey/common/util/gen_x_set (revision 4072)
+++ osprey/common/util/gen_x_set (working copy)
@@ -111,7 +111,7 @@
### ====================================================================
### ====================================================================

-require "getopts.pl";
+use Getopt::Std;

# Look for the templates in the same directory as this script resides.
#
@@ -119,7 +119,7 @@
$utildir =~ s=/[^/]*$==;
$utildir = '.' if ( $utildir eq $0 );

-&Getopts("fs");
+getopts("fs");

# Macro or functional interface?
#
Nancy
2014-08-20 23:42:47 UTC
Permalink
Post by David Coakley
Hello,
There is an easy fix for the getopts issue. If one of the Open64
gatekeepers can approve the following patch, I will check it in.
-David
Update gen_x_set to use modern Perl.
Index: osprey/common/util/gen_x_set
===================================================================
--- osprey/common/util/gen_x_set (revision 4072)
+++ osprey/common/util/gen_x_set (working copy)
@@ -111,7 +111,7 @@
### ====================================================================
### ====================================================================
-require "getopts.pl";
+use Getopt::Std;
# Look for the templates in the same directory as this script resides.
#
@@ -119,7 +119,7 @@
$utildir =~ s=/[^/]*$==;
$utildir = '.' if ( $utildir eq $0 );
-&Getopts("fs");
+getopts("fs");
# Macro or functional interface?
#
It works for me. Problem still goes on:

make make_deps
make[3]: 正在进入目录 `/home/nancy/work/build-open64/osprey/targdir/ipl'
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/loop_info.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/loop_info.h:79,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/loop_info.cxx:69:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning:
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lnopt_main.h:708:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/soe.h:314,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/loop_info.cxx:71:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/config_lno.h:397:1:
warning: ‘typedef’ was ignored in this declaration [enabled by
default]
};
^
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_main.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_main.cxx:82:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning:
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_template.h:66:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_main.cxx:101:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:
In instantiation of ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
WHIRL>::Unwind() [with WHIRL = WN*]’:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:362:13:
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
WHIRL>::WN_TREE_next_skip() [with WHIRL = WN*]’
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:373:24:
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::Skip(UINT)
[with WHIRL = WN*; UINT = unsigned int]’
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_template.h:960:13:
required from here
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: declarations in dependent base ‘WN_TREE_ITER_base<WN*>’ are not
found by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: use ‘this->Set_wn’ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: declarations in dependent base ‘WN_TREE_ITER_base<WN*>’ are not
found by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: use ‘this->Set_wn’ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:
In instantiation of ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
WHIRL>::Unwind() [with WHIRL = const WN*]’:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:362:13:
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
WHIRL>::WN_TREE_next_skip() [with WHIRL = const WN*]’
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_template.h:267:30:
required from ‘void Set_Addr_Taken_Attrib(const WN*,
SUMMARIZE<program>*) [with PROGRAM program = (PROGRAM)0u]’
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_template.h:405:43:
required from ‘void Recompute_Addr_Taken(const WN*,
SUMMARIZE<program>*) [with PROGRAM program = (PROGRAM)0u]’
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_template.h:444:32:
required from ‘void SUMMARIZE<program>::Summarize(WN*) [with PROGRAM
program = (PROGRAM)0u]’
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_main.cxx:302:26:
required from here
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: declarations in dependent base ‘WN_TREE_ITER_base<const WN*>’
are not found by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:458:27:
note: use ‘this->Set_wn’ instead
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: declarations in dependent base ‘WN_TREE_ITER_base<const WN*>’
are not found by unqualified lookup
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_tree_util.h:467:55:
note: use ‘this->Set_wn’ instead
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_bread_write.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_bread_write.cxx:52:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning:
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summary_print.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summary_print.cxx:65:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning:
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_util.cxx
g++: error: unrecognized command line option ‘-CG:all_sched=0’
make[3]: *** [ipl_summarize_util.o] 错误 1
make[3]:正在离开目录 `/home/nancy/work/build-open64/osprey/targdir/ipl'
make[2]: *** [default] 错误 2
make[2]:正在离开目录 `/home/nancy/work/build-open64/osprey/targdir/ipl'
make[1]: *** [ipl.so] 错误 2
make[1]:正在离开目录 `/home/nancy/work/build-open64'
make: *** [build] 错误 2
***@nancy-ThinkPad-T61:~/work/build-open64$
--
Best Regards,
Yu Rong Tan
C. Bergström
2014-08-20 23:46:26 UTC
Permalink
Post by Nancy
Post by David Coakley
Hello,
There is an easy fix for the getopts issue. If one of the Open64
gatekeepers can approve the following patch, I will check it in.
-David
Update gen_x_set to use modern Perl.
Index: osprey/common/util/gen_x_set
===================================================================
--- osprey/common/util/gen_x_set (revision 4072)
+++ osprey/common/util/gen_x_set (working copy)
@@ -111,7 +111,7 @@
### ====================================================================
### ====================================================================
-require "getopts.pl";
+use Getopt::Std;
# Look for the templates in the same directory as this script resides.
#
@@ -119,7 +119,7 @@
$utildir =~ s=/[^/]*$==;
$utildir = '.' if ( $utildir eq $0 );
-&Getopts("fs");
+getopts("fs");
# Macro or functional interface?
#
make make_deps
make[3]: 正在进入目录 `/home/nancy/work/build-open64/osprey/targdir/ipl'
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/loop_info.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/loop_info.h:79,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lnopt_main.h:708:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/soe.h:314,
from
warning: ‘typedef’ was ignored in this declaration [enabled by
default]
};
^
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_main.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_template.h:66:0,
from
In instantiation of ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
WHIRL>::WN_TREE_next_skip() [with WHIRL = WN*]’
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::Skip(UINT)
[with WHIRL = WN*; UINT = unsigned int]’
required from here
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
note: declarations in dependent base ‘WN_TREE_ITER_base<WN*>’ are not
found by unqualified lookup
note: use ‘this->Set_wn’ instead
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
note: declarations in dependent base ‘WN_TREE_ITER_base<WN*>’ are not
found by unqualified lookup
note: use ‘this->Set_wn’ instead
In instantiation of ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
WHIRL>::WN_TREE_next_skip() [with WHIRL = const WN*]’
required from ‘void Set_Addr_Taken_Attrib(const WN*,
SUMMARIZE<program>*) [with PROGRAM program = (PROGRAM)0u]’
required from ‘void Recompute_Addr_Taken(const WN*,
SUMMARIZE<program>*) [with PROGRAM program = (PROGRAM)0u]’
required from ‘void SUMMARIZE<program>::Summarize(WN*) [with PROGRAM
program = (PROGRAM)0u]’
required from here
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
note: declarations in dependent base ‘WN_TREE_ITER_base<const WN*>’
are not found by unqualified lookup
note: use ‘this->Set_wn’ instead
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
note: declarations in dependent base ‘WN_TREE_ITER_base<const WN*>’
are not found by unqualified lookup
note: use ‘this->Set_wn’ instead
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_bread_write.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summary_print.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
C++ /home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_util.cxx
g++: error: unrecognized command line option ‘-CG:all_sched=0’
nihao Nancy - I would encourage you to try to fix the errors yourself.
Somewhere in a makefile will be "CG:all_sched" that you can grep for and
remove. This error is caused by gcc not understanding the flag.
Alternatively, you may want to figure out why gcc is being used when the
build expects opencc.

Furthermore, this project is basically dead and understanding your goals
may help others point you in the right direction. If you're doing
research or paid work for IA64 - you may not have any other reasonable
choice. If however you're targeting another platform there may be other
options.

Christopher
Nancy
2014-08-22 03:59:03 UTC
Permalink
Hi Christopher,
Post by C. Bergström
nihao Nancy - I would encourage you to try to fix the errors yourself.
Somewhere in a makefile will be "CG:all_sched" that you can grep for and
remove. This error is caused by gcc not understanding the flag.
I do not find the CG:all_sched under my build-open64 directory, maybe
hardcode in sourcecode. I use "make V=1" , remove that parameter
manually to build that .o for a walk around.

A new ISSUE:
C++ /home/nancy/work/build-open64/osprey/targdir/lno//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lego.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/pu_info.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lego.cxx:46:
/usr/include/c++/4.8/backward/backward_warning.h:32:2: warning:
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lnopt_main.h:708:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lego.cxx:54:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/config_lno.h:397:1:
warning: ‘typedef’ was ignored in this declaration [enabled by
default]
};
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lego.cxx:
In function ‘void Delete_All_Distr_Pragmas()’:
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lego.cxx:393:9:
error: redeclaration of ‘INT i’
INT i;
^
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lego.cxx:391:12:
error: ‘INT i’ previously declared here
for (INT i=0; i<da_stack->Elements(); i++) {
^
make[3]: *** [lego.o] 错误 1
make[3]:正在离开目录 `/home/nancy/work/build-open64/osprey/targdir/lno'
make[2]: *** [default] 错误 2
make[2]:正在离开目录 `/home/nancy/work/build-open64/osprey/targdir/lno'
make[1]: *** [lno.so] 错误 2
make[1]:正在离开目录 `/home/nancy/work/build-open64'
make: *** [build] 错误 2
Post by C. Bergström
Alternatively, you may want to figure out why gcc is being used when the
build expects opencc.
The frond-end of open64 is GCC-4.2.0. Is that the correct answer?
Post by C. Bergström
Furthermore, this project is basically dead and understanding your goals may
help others point you in the right direction. If you're doing research or
paid work for IA64 - you may not have any other reasonable choice. If
however you're targeting another platform there may be other options.
I'm a newcomer in compiler area with huge passion. There's an opened
open64 backend job opportunity in my city. I hope I can join them,
just make some preparation. I known LLVM is more popular and active,
but lack of job opportunity here. I think join a local professional
team very important for my grow. No matter it is GCC, LLVM, Open64 or
any others. I think each of them have special strongpoint and
weakness. The same main principle but different trade-offs
implementation make them special and beautiful just the way they are.
--
Best Regards,
Yu Rong Tan
Jian-Xin Lai
2014-08-22 05:53:22 UTC
Permalink
This is a issue in 5.0 and fixed in trunk if compiled with the latest GCC
compiler. Here is the diff for rev 3941:
Index: lego.cxx
===================================================================
--- lego.cxx (revision 3940)
+++ lego.cxx (revision 3941)
@@ -390,13 +390,13 @@
static void Delete_All_Distr_Pragmas () {
for (INT i=0; i<da_stack->Elements(); i++) {
DISTR_INFO* dinfo = da_stack->Bottom_nth(i);
- INT i;
- for (i=0; i<dinfo->Num_Dact(); i++) {
- DISTR_ARRAY* dact = dinfo->Get_Dact(i);
+ INT j;
+ for (j=0; j<dinfo->Num_Dact(); j++) {
+ DISTR_ARRAY* dact = dinfo->Get_Dact(j);
Delete_Distr_Pragmas (dact);
}
- for (i=0; i<dinfo->Num_Gen_Redistr(); i++) {
- DISTR_ARRAY* dact = dinfo->Get_Gen_Redistr(i);
+ for (j=0; j<dinfo->Num_Gen_Redistr(); j++) {
+ DISTR_ARRAY* dact = dinfo->Get_Gen_Redistr(j);
Delete_Distr_Pragmas (dact);
}
}

Basically, it renames the inner i into j.
Post by Nancy
Hi Christopher,
Post by C. Bergström
nihao Nancy - I would encourage you to try to fix the errors yourself.
Somewhere in a makefile will be "CG:all_sched" that you can grep for and
remove. This error is caused by gcc not understanding the flag.
I do not find the CG:all_sched under my build-open64 directory, maybe
hardcode in sourcecode. I use "make V=1" , remove that parameter
manually to build that .o for a walk around.
C++
/home/nancy/work/build-open64/osprey/targdir/lno//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lego.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/pu_info.h:52,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lnopt_main.h:708:0,
from
warning: ‘typedef’ was ignored in this declaration [enabled by
default]
};
^
error: redeclaration of ‘INT i’
INT i;
^
error: ‘INT i’ previously declared here
for (INT i=0; i<da_stack->Elements(); i++) {
^
make[3]: *** [lego.o] 错误 1
make[3]:正圚犻匀目圕 `/home/nancy/work/build-open64/osprey/targdir/lno'
make[2]: *** [default] 错误 2
make[2]:正圚犻匀目圕 `/home/nancy/work/build-open64/osprey/targdir/lno'
make[1]: *** [lno.so] 错误 2
make[1]:正圚犻匀目圕 `/home/nancy/work/build-open64'
make: *** [build] 错误 2
Post by C. Bergström
Alternatively, you may want to figure out why gcc is being used when the
build expects opencc.
The frond-end of open64 is GCC-4.2.0. Is that the correct answer?
Post by C. Bergström
Furthermore, this project is basically dead and understanding your goals
may
Post by C. Bergström
help others point you in the right direction. If you're doing research or
paid work for IA64 - you may not have any other reasonable choice. If
however you're targeting another platform there may be other options.
I'm a newcomer in compiler area with huge passion. There's an opened
open64 backend job opportunity in my city. I hope I can join them,
just make some preparation. I known LLVM is more popular and active,
but lack of job opportunity here. I think join a local professional
team very important for my grow. No matter it is GCC, LLVM, Open64 or
any others. I think each of them have special strongpoint and
weakness. The same main principle but different trade-offs
implementation make them special and beautiful just the way they are.
--
Best Regards,
Yu Rong Tan
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
--
Regards,
Lai Jian-Xin
Nancy
2014-08-22 08:33:00 UTC
Permalink
Yes, Thanks for the information!
Post by Jian-Xin Lai
This is a issue in 5.0 and fixed in trunk if compiled with the latest GCC
Index: lego.cxx
===================================================================
--- lego.cxx (revision 3940)
+++ lego.cxx (revision 3941)
@@ -390,13 +390,13 @@
static void Delete_All_Distr_Pragmas () {
for (INT i=0; i<da_stack->Elements(); i++) {
DISTR_INFO* dinfo = da_stack->Bottom_nth(i);
- INT i;
- for (i=0; i<dinfo->Num_Dact(); i++) {
- DISTR_ARRAY* dact = dinfo->Get_Dact(i);
+ INT j;
+ for (j=0; j<dinfo->Num_Dact(); j++) {
+ DISTR_ARRAY* dact = dinfo->Get_Dact(j);
Delete_Distr_Pragmas (dact);
}
- for (i=0; i<dinfo->Num_Gen_Redistr(); i++) {
- DISTR_ARRAY* dact = dinfo->Get_Gen_Redistr(i);
+ for (j=0; j<dinfo->Num_Gen_Redistr(); j++) {
+ DISTR_ARRAY* dact = dinfo->Get_Gen_Redistr(j);
Delete_Distr_Pragmas (dact);
}
}
Basically, it renames the inner i into j.
Post by Nancy
Hi Christopher,
Post by C. Bergström
nihao Nancy - I would encourage you to try to fix the errors yourself.
Somewhere in a makefile will be "CG:all_sched" that you can grep for and
remove. This error is caused by gcc not understanding the flag.
I do not find the CG:all_sched under my build-open64 directory, maybe
hardcode in sourcecode. I use "make V=1" , remove that parameter
manually to build that .o for a walk around.
C++
/home/nancy/work/build-open64/osprey/targdir/lno//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lego.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/pu_info.h:52,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lnopt_main.h:708:0,
from
warning: ‘typedef’ was ignored in this declaration [enabled by
default]
};
^
error: redeclaration of ‘INT i’
INT i;
^
error: ‘INT i’ previously declared here
for (INT i=0; i<da_stack->Elements(); i++) {
^
make[3]: *** [lego.o] 错误 1
make[3]:正在离开目录 `/home/nancy/work/build-open64/osprey/targdir/lno'
make[2]: *** [default] 错误 2
make[2]:正在离开目录 `/home/nancy/work/build-open64/osprey/targdir/lno'
make[1]: *** [lno.so] 错误 2
make[1]:正在离开目录 `/home/nancy/work/build-open64'
make: *** [build] 错误 2
Post by C. Bergström
Alternatively, you may want to figure out why gcc is being used when the
build expects opencc.
The frond-end of open64 is GCC-4.2.0. Is that the correct answer?
Post by C. Bergström
Furthermore, this project is basically dead and understanding your goals may
help others point you in the right direction. If you're doing research or
paid work for IA64 - you may not have any other reasonable choice. If
however you're targeting another platform there may be other options.
I'm a newcomer in compiler area with huge passion. There's an opened
open64 backend job opportunity in my city. I hope I can join them,
just make some preparation. I known LLVM is more popular and active,
but lack of job opportunity here. I think join a local professional
team very important for my grow. No matter it is GCC, LLVM, Open64 or
any others. I think each of them have special strongpoint and
weakness. The same main principle but different trade-offs
implementation make them special and beautiful just the way they are.
--
Best Regards,
Yu Rong Tan
------------------------------------------------------------------------------
Slashdot TV.
Video for Nerds. Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Open64-devel mailing list
https://lists.sourceforge.net/lists/listinfo/open64-devel
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
Jian-Xin Lai
2014-08-21 07:57:39 UTC
Permalink
Another suggestion, you may try the top of trunk by checking out the code
from SVN repository directly:
svn co http://svn.open64.net/svnroot/open64/trunk
Post by Nancy
Post by David Coakley
Hello,
There is an easy fix for the getopts issue. If one of the Open64
gatekeepers can approve the following patch, I will check it in.
-David
Update gen_x_set to use modern Perl.
Index: osprey/common/util/gen_x_set
===================================================================
--- osprey/common/util/gen_x_set (revision 4072)
+++ osprey/common/util/gen_x_set (working copy)
@@ -111,7 +111,7 @@
### ====================================================================
### ====================================================================
-require "getopts.pl";
+use Getopt::Std;
# Look for the templates in the same directory as this script resides.
#
@@ -119,7 +119,7 @@
$utildir =~ s=/[^/]*$==;
$utildir = '.' if ( $utildir eq $0 );
-&Getopts("fs");
+getopts("fs");
# Macro or functional interface?
#
make make_deps
make[3]: 正圚进入目圕 `/home/nancy/work/build-open64/osprey/targdir/ipl'
C++
/home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/loop_info.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/loop_info.h:79,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/lnopt_main.h:708:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/be/lno/soe.h:314,
from
warning: ‘typedef’ was ignored in this declaration [enabled by
default]
};
^
C++
/home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_main.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
In file included from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_template.h:66:0,
from
In instantiation of ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
WHIRL>::WN_TREE_next_skip() [with WHIRL = WN*]’
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u, WHIRL>::Skip(UINT)
[with WHIRL = WN*; UINT = unsigned int]’
required from here
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
note: declarations in dependent base ‘WN_TREE_ITER_base<WN*>’ are not
found by unqualified lookup
note: use ‘this->Set_wn’ instead
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
note: declarations in dependent base ‘WN_TREE_ITER_base<WN*>’ are not
found by unqualified lookup
note: use ‘this->Set_wn’ instead
In instantiation of ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
required from ‘void WN_TREE_ITER<(TRAV_ORDER)0u,
WHIRL>::WN_TREE_next_skip() [with WHIRL = const WN*]’
required from ‘void Set_Addr_Taken_Attrib(const WN*,
SUMMARIZE<program>*) [with PROGRAM program = (PROGRAM)0u]’
required from ‘void Recompute_Addr_Taken(const WN*,
SUMMARIZE<program>*) [with PROGRAM program = (PROGRAM)0u]’
required from ‘void SUMMARIZE<program>::Summarize(WN*) [with PROGRAM
program = (PROGRAM)0u]’
required from here
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_next(wn));
^
note: declarations in dependent base ‘WN_TREE_ITER_base<const WN*>’
are not found by unqualified lookup
note: use ‘this->Set_wn’ instead
warning: ‘Set_wn’ was not declared in this scope, and no declarations
were found by argument-dependent lookup at the point of instantiation
[-fpermissive]
Set_wn(WN_kid(parent_wn,this->Inc_kid_index()));
^
note: declarations in dependent base ‘WN_TREE_ITER_base<const WN*>’
are not found by unqualified lookup
note: use ‘this->Set_wn’ instead
C++
/home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_bread_write.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/symtab.h:75,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn_core.h:52,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/wn.h:58,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
C++
/home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summary_print.cxx
In file included from /usr/include/c++/4.8/ext/hash_map:60:0,
from
/home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/common/com/strtab.h:146,
from
#warning This file includes at least one deprecated or antiquated
header which may be removed without further notice at a future date.
Please use a non-deprecated interface with equivalent functionality
instead. For a listing of replacement headers and interfaces, consult
the file backward_warning.h. To disable this warning use
-Wno-deprecated. [-Wcpp]
#warning \
^
C++
/home/nancy/work/build-open64/osprey/targdir/ipl//home/nancy/work/build-open64/osprey/../../open64-5.0/./osprey/ipa/local/ipl_summarize_util.cxx
g++: error: unrecognized command line option ‘-CG:all_sched=0’
make[3]: *** [ipl_summarize_util.o] 错误 1
make[3]:正圚犻匀目圕 `/home/nancy/work/build-open64/osprey/targdir/ipl'
make[2]: *** [default] 错误 2
make[2]:正圚犻匀目圕 `/home/nancy/work/build-open64/osprey/targdir/ipl'
make[1]: *** [ipl.so] 错误 2
make[1]:正圚犻匀目圕 `/home/nancy/work/build-open64'
make: *** [build] 错误 2
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
Nancy
2014-08-22 04:09:16 UTC
Permalink
Hi Jian-Xin,
Post by Jian-Xin Lai
Another suggestion, you may try the top of trunk by checking out the code
svn co http://svn.open64.net/svnroot/open64/trunk
I have tried the SVN version:
make[6]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32 -B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem /home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem /home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O0 -g -DIs_True_On -DTARG_X8664 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I.
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/.
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../include
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../../libspin
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../libcpp/include
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../libdecnumber
-I../libdecnumber -fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c
../../../../open64-svn/./osprey-gcc-4.2.0/gcc/unwind-dw2.c -o
libgcc/./unwind-dw2.o
In file included from
../../../../open64-svn/./osprey-gcc-4.2.0/gcc/unwind-dw2.c:338:
../../../../open64-svn/./osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h:
In function 'x86_fallback_frame_state':
../../../../open64-svn/./osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h:142:
error: field 'info' has incomplete type
make[5]: *** [libgcc/./unwind-dw2.o] 错误 1
make[5]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[4]: *** [stmp-multilib] 错误 2
make[4]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[3]: *** [all-gcc] 错误 2
make[3]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] 错误 2
make[2]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] 错误 2
make[1]:正在离开目录 `/home/nancy/work/build-open64-svn'
make: *** [build] 错误 2


Seems the compatibility issue of linux kernel. What's your working
linux distribution?
--
Best Regards,
Yu Rong Tan
Jian-Xin Lai
2014-08-22 06:07:28 UTC
Permalink
siginfo should be defined in /usr/include/bits/siginfo.h. I don't know if
the compiler can be built on Ubuntu Kylin successfully. Usually we uses
Redhat(Fedora), SuSE(OpenSuse) or Debian.
Post by Nancy
Hi Jian-Xin,
Post by Jian-Xin Lai
Another suggestion, you may try the top of trunk by checking out the code
svn co http://svn.open64.net/svnroot/open64/trunk
make[6]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O0 -g -DIs_True_On -DTARG_X8664 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I.
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/.
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../include
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../../libspin
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../libcpp/include
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../libdecnumber
-I../libdecnumber -fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c
../../../../open64-svn/./osprey-gcc-4.2.0/gcc/unwind-dw2.c -o
libgcc/./unwind-dw2.o
In file included from
error: field 'info' has incomplete type
make[5]: *** [libgcc/./unwind-dw2.o] 错误 1
make[5]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[4]: *** [stmp-multilib] 错误 2
make[4]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[3]: *** [all-gcc] 错误 2
make[3]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] 错误 2
make[2]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] 错误 2
make[1]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn'
make: *** [build] 错误 2
Seems the compatibility issue of linux kernel. What's your working
linux distribution?
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
David Coakley
2014-08-22 06:46:00 UTC
Permalink
There was a change to the way that siginfo is defined. I was able to build
on Fedora 19 (gcc 4.8.3) with the following change:

Index: osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (revision 4114)
+++ osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (working copy)
@@ -137,9 +137,17 @@
{
struct rt_sigframe {
int sig;
+#ifdef __have_siginfo_t
+ siginfo_t *pinfo;
+#else
struct siginfo *pinfo;
+#endif
void *puc;
+#ifdef __have_siginfo_t
+ siginfo_t info;
+#else
struct siginfo info;
+#endif
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.


If it helps, I can check that in to the trunk as well.

-David
Post by Jian-Xin Lai
siginfo should be defined in /usr/include/bits/siginfo.h. I don't know if
the compiler can be built on Ubuntu Kylin successfully. Usually we uses
Redhat(Fedora), SuSE(OpenSuse) or Debian.
Hi Jian-Xin,
Post by Nancy
Post by Jian-Xin Lai
Another suggestion, you may try the top of trunk by checking out the
code
Post by Jian-Xin Lai
svn co http://svn.open64.net/svnroot/open64/trunk
make[6]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O0 -g -DIs_True_On -DTARG_X8664 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I.
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/.
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../include
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../../libspin
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../libcpp/include
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../libdecnumber
-I../libdecnumber -fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c
../../../../open64-svn/./osprey-gcc-4.2.0/gcc/unwind-dw2.c -o
libgcc/./unwind-dw2.o
In file included from
error: field 'info' has incomplete type
make[5]: *** [libgcc/./unwind-dw2.o] 错误 1
make[5]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[4]: *** [stmp-multilib] 错误 2
make[4]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[3]: *** [all-gcc] 错误 2
make[3]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] 错误 2
make[2]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] 错误 2
make[1]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn'
make: *** [build] 错误 2
Seems the compatibility issue of linux kernel. What's your working
linux distribution?
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
Jian-Xin Lai
2014-08-22 08:01:18 UTC
Permalink
Sounds reasonable. Please go ahead.
Post by David Coakley
There was a change to the way that siginfo is defined. I was able to
Index: osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (revision 4114)
+++ osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (working copy)
@@ -137,9 +137,17 @@
{
struct rt_sigframe {
int sig;
+#ifdef __have_siginfo_t
+ siginfo_t *pinfo;
+#else
struct siginfo *pinfo;
+#endif
void *puc;
+#ifdef __have_siginfo_t
+ siginfo_t info;
+#else
struct siginfo info;
+#endif
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
If it helps, I can check that in to the trunk as well.
-David
Post by Jian-Xin Lai
siginfo should be defined in /usr/include/bits/siginfo.h. I don't know if
the compiler can be built on Ubuntu Kylin successfully. Usually we uses
Redhat(Fedora), SuSE(OpenSuse) or Debian.
Hi Jian-Xin,
Post by Nancy
Post by Jian-Xin Lai
Another suggestion, you may try the top of trunk by checking out the
code
Post by Jian-Xin Lai
svn co http://svn.open64.net/svnroot/open64/trunk
make[6]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O0 -g -DIs_True_On -DTARG_X8664 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I.
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/.
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../include
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../../libspin
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../libcpp/include
-I../../../../open64-svn/./osprey-gcc-4.2.0/gcc/../libdecnumber
-I../libdecnumber -fexceptions -fvisibility=hidden -DHIDE_EXPORTS -c
../../../../open64-svn/./osprey-gcc-4.2.0/gcc/unwind-dw2.c -o
libgcc/./unwind-dw2.o
In file included from
error: field 'info' has incomplete type
make[5]: *** [libgcc/./unwind-dw2.o] 错误 1
make[5]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[4]: *** [stmp-multilib] 错误 2
make[4]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[3]: *** [all-gcc] 错误 2
make[3]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] 错误 2
make[2]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] 错误 2
make[1]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn'
make: *** [build] 错误 2
Seems the compatibility issue of linux kernel. What's your working
linux distribution?
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Regards,
Lai Jian-Xin
Nancy
2014-08-22 08:27:30 UTC
Permalink
Post by David Coakley
There was a change to the way that siginfo is defined. I was able to build
Index: osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (revision 4114)
+++ osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (working copy)
@@ -137,9 +137,17 @@
{
struct rt_sigframe {
int sig;
+#ifdef __have_siginfo_t
+ siginfo_t *pinfo;
+#else
struct siginfo *pinfo;
+#endif
void *puc;
+#ifdef __have_siginfo_t
+ siginfo_t info;
+#else
struct siginfo info;
+#endif
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
If it helps, I can check that in to the trunk as well.
Hi David,

Your patch works for me again :) Thanks a lot!

New linker issue:
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32 -B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem /home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem /home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O0 -g -DIs_True_On -DTARG_X8664 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared
-nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o
libgcc/./_popcountsi2_s.o libgcc/./_popcountdi2_s.o
libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o libgcc/./_powisf2_s.o
libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o libgcc/./_powitf2_s.o
libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o libgcc/./_mulxc3_s.o
libgcc/./_multc3_s.o libgcc/./_divsc3_s.o libgcc/./_divdc3_s.o
libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o libgcc/./_fixunssfsi_s.o
libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o
libgcc/./_fixunsdfdi_s.o libgcc/./_floatdidf_s.o
libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o
libgcc/./_floatundixf_s.o libgcc/./_fixtfdi_s.o
libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f
./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/usr/local/bin/ld: error: cannot open crti.o: 没有那个文件或目录(file or folder
do not exist)
/usr/local/bin/ld: error: cannot open crtn.o: 没有那个文件或目录(file or folder
do not exist)
collect2: ld returned 1 exit status
make[5]: *** [libgcc_s.so] 错误 1
make[5]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[4]: *** [stmp-multilib] 错误 2
make[4]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[3]: *** [all-gcc] 错误 2
make[3]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] 错误 2
make[2]:正在离开目录 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] 错误 2
make[1]:正在离开目录 `/home/nancy/work/build-open64-svn'
make: *** [build] 错误 2
--
Best Regards,
Yu Rong Tan
David Coakley
2014-08-23 03:50:34 UTC
Permalink
The linker issue is due to a bug in the way we find the path to the CRT
object files (crti.o, etc.). We were assuming that if /usr/lib64 exists,
that's where we would find the 64-bit versions. On Ubuntu 14.04, there is
a /usr/lib64, but that is not where the CRT object files live.

Here is the proposed fix (the change is just to the test after the 'elif'):

Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@

MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d /usr/lib64 ]
; then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../lib32" ; else echo
"../lib/x86_64-linux-gnu ../lib32" ; fi)

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
Post by Nancy
Post by David Coakley
There was a change to the way that siginfo is defined. I was able to
build
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (revision 4114)
+++ osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (working copy)
@@ -137,9 +137,17 @@
{
struct rt_sigframe {
int sig;
+#ifdef __have_siginfo_t
+ siginfo_t *pinfo;
+#else
struct siginfo *pinfo;
+#endif
void *puc;
+#ifdef __have_siginfo_t
+ siginfo_t info;
+#else
struct siginfo info;
+#endif
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
If it helps, I can check that in to the trunk as well.
Hi David,
Your patch works for me again :) Thanks a lot!
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O0 -g -DIs_True_On -DTARG_X8664 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared
-nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o
libgcc/./_popcountsi2_s.o libgcc/./_popcountdi2_s.o
libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o libgcc/./_powisf2_s.o
libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o libgcc/./_powitf2_s.o
libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o libgcc/./_mulxc3_s.o
libgcc/./_multc3_s.o libgcc/./_divsc3_s.o libgcc/./_divdc3_s.o
libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o libgcc/./_fixunssfsi_s.o
libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o
libgcc/./_fixunsdfdi_s.o libgcc/./_floatdidf_s.o
libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o
libgcc/./_floatundixf_s.o libgcc/./_fixtfdi_s.o
libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f
./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/usr/local/bin/ld: error: cannot open crti.o: 没有那䞪文件或目圕(file or folder
do not exist)
/usr/local/bin/ld: error: cannot open crtn.o: 没有那䞪文件或目圕(file or folder
do not exist)
collect2: ld returned 1 exit status
make[5]: *** [libgcc_s.so] 错误 1
make[5]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[4]: *** [stmp-multilib] 错误 2
make[4]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[3]: *** [all-gcc] 错误 2
make[3]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] 错误 2
make[2]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] 错误 2
make[1]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn'
make: *** [build] 错误 2
--
Best Regards,
Yu Rong Tan
Nancy
2014-08-24 04:10:31 UTC
Permalink
Hi David,

I'm sorry this this fix does not work for me. Please use
non-Plain-test-mode to see this email. That could be more clear.

***@nancy-ThinkPad-T61:~/work$ if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ *-d /usr/lib64 *]
; then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi
*../lib64 ../lib32*
***@nancy-ThinkPad-T61:~/work$ if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ *-f
/usr/lib64/crti.o* ] ; then echo "../lib64 ../lib32" ; else echo
"../lib/x86_64-linux-gnu ../lib32" ; fi
*../lib64 ../lib32*
***@nancy-ThinkPad-T61:~/work$

Thanks for your information. I try to figure out where's going wrong, by
manually excecuting the error command with "-v" option.
***@nancy-ThinkPad-T61:~/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc$
*/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-v *-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O2 -DTARG_X8664 -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so &&
if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
Reading specs from
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/specs
Target: x86_64-redhat-linux
Configured with: ../../open64-svn/./osprey-gcc-4.2.0/configure
--prefix=/home/nancy/toolchains/open64/open64-gcc-4.2.0 --with-gnu-as
--with-gnu-ld --enable-languages=c,c++ --disable-bootstrap
--disable-libmudflap --disable-libssp --disable-checking
--enable-threads=posix --enable-tls --with-system-zlib
--enable-__cxa_atexit --srcdir=../../open64-svn/./osprey-gcc-4.2.0
--host=x86_64-redhat-linux --target=x86_64-redhat-linux
Thread model: posix
gcc version 4.2.0
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect2
--eh-frame-hdr -m elf_i386 -shared -o ./libgcc_s.so.1.tmp *crti.o*
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/crtbeginS.o
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/32
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
--soname=libgcc_s.so.1 --version-script=libgcc/./libgcc.map
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/crtendS.o
*crtn.o*
/usr/local/bin/ld: error: cannot open crti.o:
error: cannot open crtn.o:
collect2: ld returned 1 exit status

I wonder why open64 only rebuild crtendS.o, crtendBeginS.o ..... but do not
rebuild crti.o, crtn.o?

I tried to find out the correct path of crtn.o crti.o by step below:
***@nancy-ThinkPad-T61:*~/work/build-open64-svn$ grep "crtn.o" . -rn*
./osprey/cygnus/ld/Makefile:177:HOSTING_LIBS = -L`dirname \`${CC}
--print-file-name=libc.so\`` `if [ -f ../gcc/libgcc.a ]; then
libgcc=../gcc/libgcc.a; else libgcc=\`${CC} -print-libgcc-file-name\`; fi;
if [ -f ../gcc/libgcc_eh.a ]; then libgcc="$libgcc ../gcc/libgcc_eh.a";
else libgcc_eh=\`${CC} -print-file-name=libgcc_eh.a\`; if [ x"$libgcc_eh"
!= xlibgcc_eh.a ]; then libgcc="$libgcc $libgcc_eh"; fi; fi; echo
--start-group $libgcc -lc --end-group` `if [ -f ../gcc/crtend.o ]; then
echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC}
--print-file-name=crtn.o`

./osprey/cygnus/ld/config.log:82: /usr/lib/gcc/i686-linux-gnu/4.8/collect2
--sysroot=/ --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu
--as-needed -shared -z relro -o conftest
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/crtbeginS.o
-L/usr/lib/gcc/i686-linux-gnu/4.8
-L/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu
-L/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib -L/lib/i386-linux-gnu
-L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib
-L/usr/lib/gcc/i686-linux-gnu/4.8/../../.. conftest.o -soname conftest
-lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s
--no-as-needed /usr/lib/gcc/i686-linux-gnu/4.8/crtendS.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o

./osprey/cygnus/ld/config.status:129:s%@HOSTING_LIBS@%-L`dirname \`${CC}
--print-file-name=libc.so\`` `if [ -f ../gcc/libgcc.a ]; then
libgcc=../gcc/libgcc.a; else libgcc=\`${CC} -print-libgcc-file-name\`; fi;
if [ -f ../gcc/libgcc_eh.a ]; then libgcc="$libgcc ../gcc/libgcc_eh.a";
else libgcc_eh=\`${CC} -print-file-name=libgcc_eh.a\`; if [ x"$libgcc_eh"
!= xlibgcc_eh.a ]; then libgcc="$libgcc $libgcc_eh"; fi; fi; echo
--start-group $libgcc -lc --end-group` `if [ -f ../gcc/crtend.o ]; then
echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC}
--print-file-name=crtn.o`%g
.....

Compile successed by manually adding path
"/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/" in front of
crti.o and crtn.o in the command line. I don't known where to add it to
take effect the whole project.
Post by David Coakley
The linker issue is due to a bug in the way we find the path to the CRT
object files (crti.o, etc.). We were assuming that if /usr/lib64 exists,
that's where we would find the 64-bit versions. On Ubuntu 14.04, there is
a /usr/lib64, but that is not where the CRT object files live.
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d /usr/lib64 ]
; then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../lib32" ; else echo
"../lib/x86_64-linux-gnu ../lib32" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
Post by Nancy
Post by David Coakley
There was a change to the way that siginfo is defined. I was able to
build
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (revision 4114)
+++ osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (working copy)
@@ -137,9 +137,17 @@
{
struct rt_sigframe {
int sig;
+#ifdef __have_siginfo_t
+ siginfo_t *pinfo;
+#else
struct siginfo *pinfo;
+#endif
void *puc;
+#ifdef __have_siginfo_t
+ siginfo_t info;
+#else
struct siginfo info;
+#endif
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
If it helps, I can check that in to the trunk as well.
Hi David,
Your patch works for me again :) Thanks a lot!
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O0 -g -DIs_True_On -DTARG_X8664 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared
-nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o
libgcc/./_popcountsi2_s.o libgcc/./_popcountdi2_s.o
libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o libgcc/./_powisf2_s.o
libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o libgcc/./_powitf2_s.o
libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o libgcc/./_mulxc3_s.o
libgcc/./_multc3_s.o libgcc/./_divsc3_s.o libgcc/./_divdc3_s.o
libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o libgcc/./_fixunssfsi_s.o
libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o
libgcc/./_fixunsdfdi_s.o libgcc/./_floatdidf_s.o
libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o
libgcc/./_floatundixf_s.o libgcc/./_fixtfdi_s.o
libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f
./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/usr/local/bin/ld: error: cannot open crti.o: ûÓÐÄÇžöÎÄŒþ»òÄ¿ÂŒ(file or folder
do not exist)
/usr/local/bin/ld: error: cannot open crtn.o: ûÓÐÄÇžöÎÄŒþ»òÄ¿ÂŒ(file or folder
do not exist)
collect2: ld returned 1 exit status
make[5]: *** [libgcc_s.so] ŽíÎó 1
make[5]:ÕýÔÚÀ뿪ĿŒ
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[4]: *** [stmp-multilib] ŽíÎó 2
make[4]:ÕýÔÚÀ뿪ĿŒ
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[3]: *** [all-gcc] ŽíÎó 2
make[3]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] ŽíÎó 2
make[2]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] ŽíÎó 2
make[1]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn'
make: *** [build] ŽíÎó 2
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
David Coakley
2014-08-24 05:28:25 UTC
Permalink
Does /usr/lib32/crti.o exist on your system? If not, try installing the
'gcc-multilib' package.

Here are all the packages I installed on a desktop 64-bit Ubuntu 14.04
system:

build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib

Hope that helps,

-David
Post by Nancy
Hi David,
I'm sorry this this fix does not work for me. Please use
non-Plain-test-mode to see this email. That could be more clear.
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ *-d
/usr/lib64 *] ; then echo "../lib64 ../lib32" ; else echo
"../lib/x86_64-linux-gnu ../lib32" ; fi
*../lib64 ../lib32*
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ *-f
/usr/lib64/crti.o* ] ; then echo "../lib64 ../lib32" ; else echo
"../lib/x86_64-linux-gnu ../lib32" ; fi
*../lib64 ../lib32*
Thanks for your information. I try to figure out where's going wrong, by
manually excecuting the error command with "-v" option.
*/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-v *-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O2 -DTARG_X8664 -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so &&
if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
Reading specs from
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/specs
Target: x86_64-redhat-linux
Configured with: ../../open64-svn/./osprey-gcc-4.2.0/configure
--prefix=/home/nancy/toolchains/open64/open64-gcc-4.2.0 --with-gnu-as
--with-gnu-ld --enable-languages=c,c++ --disable-bootstrap
--disable-libmudflap --disable-libssp --disable-checking
--enable-threads=posix --enable-tls --with-system-zlib
--enable-__cxa_atexit --srcdir=../../open64-svn/./osprey-gcc-4.2.0
--host=x86_64-redhat-linux --target=x86_64-redhat-linux
Thread model: posix
gcc version 4.2.0
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect2
--eh-frame-hdr -m elf_i386 -shared -o ./libgcc_s.so.1.tmp *crti.o* /home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/crtbeginS.o
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/32
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
--soname=libgcc_s.so.1 --version-script=libgcc/./libgcc.map
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/crtendS.o
*crtn.o*
collect2: ld returned 1 exit status
I wonder why open64 only rebuild crtendS.o, crtendBeginS.o ..... but do
not rebuild crti.o, crtn.o?
./osprey/cygnus/ld/Makefile:177:HOSTING_LIBS = -L`dirname \`${CC}
--print-file-name=libc.so\`` `if [ -f ../gcc/libgcc.a ]; then
libgcc=../gcc/libgcc.a; else libgcc=\`${CC} -print-libgcc-file-name\`; fi;
if [ -f ../gcc/libgcc_eh.a ]; then libgcc="$libgcc ../gcc/libgcc_eh.a";
else libgcc_eh=\`${CC} -print-file-name=libgcc_eh.a\`; if [ x"$libgcc_eh"
!= xlibgcc_eh.a ]; then libgcc="$libgcc $libgcc_eh"; fi; fi; echo
--start-group $libgcc -lc --end-group` `if [ -f ../gcc/crtend.o ]; then
echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC}
--print-file-name=crtn.o`
./osprey/cygnus/ld/config.log:82: /usr/lib/gcc/i686-linux-gnu/4.8/collect2
--sysroot=/ --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu
--as-needed -shared -z relro -o conftest
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/crtbeginS.o
-L/usr/lib/gcc/i686-linux-gnu/4.8
-L/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu
-L/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib -L/lib/i386-linux-gnu
-L/lib/../lib -L/usr/lib/i386-linux-gnu -L/usr/lib/../lib
-L/usr/lib/gcc/i686-linux-gnu/4.8/../../.. conftest.o -soname conftest
-lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s
--no-as-needed /usr/lib/gcc/i686-linux-gnu/4.8/crtendS.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o
--print-file-name=libc.so\`` `if [ -f ../gcc/libgcc.a ]; then
libgcc=../gcc/libgcc.a; else libgcc=\`${CC} -print-libgcc-file-name\`; fi;
if [ -f ../gcc/libgcc_eh.a ]; then libgcc="$libgcc ../gcc/libgcc_eh.a";
else libgcc_eh=\`${CC} -print-file-name=libgcc_eh.a\`; if [ x"$libgcc_eh"
!= xlibgcc_eh.a ]; then libgcc="$libgcc $libgcc_eh"; fi; fi; echo
--start-group $libgcc -lc --end-group` `if [ -f ../gcc/crtend.o ]; then
echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC}
--print-file-name=crtn.o`%g
.....
Compile successed by manually adding path
"/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/" in front of
crti.o and crtn.o in the command line. I don't known where to add it to
take effect the whole project.
Post by David Coakley
The linker issue is due to a bug in the way we find the path to the CRT
object files (crti.o, etc.). We were assuming that if /usr/lib64 exists,
that's where we would find the 64-bit versions. On Ubuntu 14.04, there is
a /usr/lib64, but that is not where the CRT object files live.
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d /usr/lib64 ]
; then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../lib32" ; else echo
"../lib/x86_64-linux-gnu ../lib32" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
Post by Nancy
Post by David Coakley
There was a change to the way that siginfo is defined. I was able to
build
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (revision 4114)
+++ osprey-gcc-4.2.0/gcc/config/i386/linux-unwind.h (working copy)
@@ -137,9 +137,17 @@
{
struct rt_sigframe {
int sig;
+#ifdef __have_siginfo_t
+ siginfo_t *pinfo;
+#else
struct siginfo *pinfo;
+#endif
void *puc;
+#ifdef __have_siginfo_t
+ siginfo_t info;
+#else
struct siginfo info;
+#endif
struct ucontext uc;
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
If it helps, I can check that in to the trunk as well.
Hi David,
Your patch works for me again :) Thanks a lot!
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O0 -g -DIs_True_On -DTARG_X8664 -DIN_GCC -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared
-nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o
libgcc/./_popcountsi2_s.o libgcc/./_popcountdi2_s.o
libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o libgcc/./_powisf2_s.o
libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o libgcc/./_powitf2_s.o
libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o libgcc/./_mulxc3_s.o
libgcc/./_multc3_s.o libgcc/./_divsc3_s.o libgcc/./_divdc3_s.o
libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o libgcc/./_fixunssfsi_s.o
libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o
libgcc/./_fixunsdfdi_s.o libgcc/./_floatdidf_s.o
libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o
libgcc/./_floatundixf_s.o libgcc/./_fixtfdi_s.o
libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f
./libgcc_s.so && if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
/usr/local/bin/ld: error: cannot open crti.o: 没有那䞪文件或目圕(file or folder
do not exist)
/usr/local/bin/ld: error: cannot open crtn.o: 没有那䞪文件或目圕(file or folder
do not exist)
collect2: ld returned 1 exit status
make[5]: *** [libgcc_s.so] 错误 1
make[5]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[4]: *** [stmp-multilib] 错误 2
make[4]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
make[3]: *** [all-gcc] 错误 2
make[3]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] 错误 2
make[2]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] 错误 2
make[1]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn'
make: *** [build] 错误 2
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
Nancy
2014-08-24 06:55:33 UTC
Permalink
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try installing the
'gcc-multilib' package.

No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed already.
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu 14.04
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.

Replace 'lib32' to 'libx32':
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)

or not replace it, still the same error. This software enviroment has no
problem building gcc 4.8.2 or LLVM with debug mode opened from sourcecode.
--
Best Regards,
Yu Rong Tan
David Coakley
2014-08-25 04:08:45 UTC
Permalink
Here is a revised patch that I think will work for you:

Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@

MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d /usr/lib64 ]
; then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64
../lib32" ; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib


By the way, x32 is a different ABI (http://en.wikipedia.org/wiki/X32_ABI).

-David
Post by David Coakley
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try installing the
'gcc-multilib' package.
No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed already.
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu 14.04
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)
or not replace it, still the same error. This software enviroment has no
problem building gcc 4.8.2 or LLVM with debug mode opened from sourcecode.
--
Best Regards,
Yu Rong Tan
Nancy
2014-08-25 07:06:39 UTC
Permalink
The patch still not working for me. Still the same error. Though the
value of MULTILIB_OSDIRNAMES changes, but still no path in front of
crti.o, crtn.o :(
Post by David Coakley
By the way, x32 is a different ABI (http://en.wikipedia.org/wiki/X32_ABI).
Thanks for this information :)
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d /usr/lib64 ] ;
then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64 ../lib32"
; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
By the way, x32 is a different ABI (http://en.wikipedia.org/wiki/X32_ABI).
-David
Post by Nancy
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try installing the
'gcc-multilib' package.
No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed already.
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu 14.04
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)
or not replace it, still the same error. This software enviroment has no
problem building gcc 4.8.2 or LLVM with debug mode opened from sourcecode.
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
Jian-Xin Lai
2014-08-25 07:13:46 UTC
Permalink
Have you tried to compile a small program with gcc -m32? Does it work? If
yes, you may try the following commands:
gcc -m32 -print-file-name=crti.o
gcc -m32 -print-file-name=crtn.o
gcc -m64 -print-file-name=crti.o
gcc -m64 -print-file-name=crtn.o
gcc -m32 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crti.o
gcc -m32 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crtn.o
gcc -m64 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o
gcc -m64 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o

You may check these outputs and make sure the files exist and are used
correctly.
The patch still not working for me. Still the same error. Though the
value of MULTILIB_OSDIRNAMES changes, but still no path in front of
crti.o, crtn.o :(
Post by David Coakley
By the way, x32 is a different ABI (http://en.wikipedia.org/wiki/X32_ABI
).
Thanks for this information :)
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d /usr/lib64
] ;
Post by David Coakley
then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64
../lib32"
Post by David Coakley
; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
By the way, x32 is a different ABI (http://en.wikipedia.org/wiki/X32_ABI
).
Post by David Coakley
-David
Post by Nancy
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try installing
the
Post by David Coakley
Post by Nancy
Post by David Coakley
'gcc-multilib' package.
No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed already.
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu 14.04
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)
or not replace it, still the same error. This software enviroment has no
problem building gcc 4.8.2 or LLVM with debug mode opened from
sourcecode.
Post by David Coakley
Post by Nancy
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
Nancy
2014-08-25 07:50:26 UTC
Permalink
***@nancy-ThinkPad-T61:~$ gcc -m32 -print-file-name=crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
***@nancy-ThinkPad-T61:~$ gcc -m32 -print-file-name=crtn.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o
***@nancy-ThinkPad-T61:~$ gcc -m64 -print-file-name=crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crti.o
***@nancy-ThinkPad-T61:~$ gcc -m64 -print-file-name=crtn.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crtn.o

I think the file exist and uses correctly or the crtendS.o, crtendBeginS.o
... could not rebuilt successfully.

***@nancy-ThinkPad-T61
:~/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc$
*/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc*
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O2 -DTARG_X8664 -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so &&
if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so

I don't known where you give the newly built "xgcc"'s parameters( in
Makefile or somewhere ), that place miss the path in front of crti.o crtn.o.
Post by Jian-Xin Lai
Have you tried to compile a small program with gcc -m32? Does it work? If
gcc -m32 -print-file-name=crti.o
gcc -m32 -print-file-name=crtn.o
gcc -m64 -print-file-name=crti.o
gcc -m64 -print-file-name=crtn.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crti.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crtn.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o
You may check these outputs and make sure the files exist and are used
correctly.
The patch still not working for me. Still the same error. Though the
Post by Jian-Xin Lai
value of MULTILIB_OSDIRNAMES changes, but still no path in front of
crti.o, crtn.o :(
Post by David Coakley
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Thanks for this information :)
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d
/usr/lib64 ] ;
Post by David Coakley
then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64
../lib32"
Post by David Coakley
; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Post by David Coakley
-David
Post by Nancy
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try installing
the
Post by David Coakley
Post by Nancy
Post by David Coakley
'gcc-multilib' package.
No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed
already.
Post by David Coakley
Post by Nancy
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu
14.04
Post by David Coakley
Post by Nancy
Post by David Coakley
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)
or not replace it, still the same error. This software enviroment has
no
Post by David Coakley
Post by Nancy
problem building gcc 4.8.2 or LLVM with debug mode opened from
sourcecode.
Post by David Coakley
Post by Nancy
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
Jian-Xin Lai
2014-08-25 08:05:13 UTC
Permalink
David's patch is the key to this problem. You may need to revise his patch
with the information from the gcc output.
Post by Nancy
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crtn.o
I think the file exist and uses correctly or the crtendS.o, crtendBeginS.o
... could not rebuilt successfully.
:~/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc$
*/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc*
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O2 -DTARG_X8664 -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so &&
if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
I don't known where you give the newly built "xgcc"'s parameters( in
Makefile or somewhere ), that place miss the path in front of crti.o crtn.o.
Post by Jian-Xin Lai
Have you tried to compile a small program with gcc -m32? Does it work? If
gcc -m32 -print-file-name=crti.o
gcc -m32 -print-file-name=crtn.o
gcc -m64 -print-file-name=crti.o
gcc -m64 -print-file-name=crtn.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crti.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crtn.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o
You may check these outputs and make sure the files exist and are used
correctly.
The patch still not working for me. Still the same error. Though the
Post by Jian-Xin Lai
value of MULTILIB_OSDIRNAMES changes, but still no path in front of
crti.o, crtn.o :(
Post by David Coakley
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Thanks for this information :)
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d
/usr/lib64 ] ;
Post by David Coakley
then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64
../lib32"
Post by David Coakley
; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Post by David Coakley
-David
Post by Nancy
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try
installing the
Post by David Coakley
Post by Nancy
Post by David Coakley
'gcc-multilib' package.
No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed
already.
Post by David Coakley
Post by Nancy
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu
14.04
Post by David Coakley
Post by Nancy
Post by David Coakley
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep "ELF
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)
or not replace it, still the same error. This software enviroment has
no
Post by David Coakley
Post by Nancy
problem building gcc 4.8.2 or LLVM with debug mode opened from
sourcecode.
Post by David Coakley
Post by Nancy
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
Nancy
2014-08-26 11:57:21 UTC
Permalink
I don't think so. MULTILIB_OSDIRNAMES controls multilib build, cri.o,
crtn.o do not belong to multilib.

Here's a walk a round way:
Modify the contents of file
"build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/specs":
*startfile:
%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}
*/usr/lib/i386-linux-gnu/*crti.o%s
%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}

endfile:
%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}
%{shared|pie:crtendS.o%s;:crtend.o%s} */usr/lib/gcc/i386-linux-gnu/*
crtn.o%s

This "specs" file was automatically generated by
osprey-gcc-4.2.0/gcc/Makefile.in:1409 rules
$(SPECS): xgcc$(exeext)
$(GCC_FOR_TARGET) -dumpspecs > tmp-specs
mv tmp-specs $(SPECS)

I don't known how to control GCC_FOR_TARGET correctly.

NEW issue:
make[4]:ÕýÔÚÀ뿪ĿŒ
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
Checking multilib configuration for libstdc++-v3...
Configuring in x86_64-redhat-linux/libstdc++-v3
configure: loading cache ./config.cache
*checking build system type... (cached) x86_64-redhat-linux-gnu*
*checking host system type... (cached) x86_64-redhat-linux-gnu*
*checking target system type... (cached) x86_64-redhat-linux-gnu*
*How come to get this result, my machine is i686 smp Ubuntu?*

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... (cached) gawk
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C preprocessor... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-E
checking for egrep... (cached) grep -E
checking for x86_64-redhat-linux-gcc... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
accepts -g... (cached) yes
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
option to accept ANSI C... (cached) none needed
checking for x86_64-redhat-linux-g++... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
accepts -g... (cached) yes
checking whether ln -s works... yes
checking for x86_64-redhat-linux-as... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/as
checking for x86_64-redhat-linux-ar... (cached) ar
checking for x86_64-redhat-linux-ranlib... (cached) ranlib
checking whether to enable maintainer-specific portions of Makefiles... no
configure: CPU config directory is cpu/i486
configure: OS config directory is os/gnu-linux
checking for ld used by GCC... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
checking if the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld)
is GNU ld... (cached) yes
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
option to reload object files... (cached) -r
checking for BSD-compatible nm... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
checking how to recognise dependant libraries... (cached) pass_all
checking the maximum length of command line arguments... (cached) 49153
checking for x86_64-redhat-linux-ranlib... (cached) ranlib
checking for x86_64-redhat-linux-strip... (cached) strip
updating cache ./config.cache
loading cache ./config.cache within ltconfig
checking whether -lc should be explicitly linked in... (cached) no
checking for objdir... .libs
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
option to produce PIC... -fPIC -DPIC
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
PIC flag -fPIC -DPIC works... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
static flag works... (cached) no
finding the maximum length of command line arguments... (cached) 49153
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -c -o file.o... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -fno-rtti -fno-exceptions ... no
checking whether the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
-m elf_i386) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
output... failed
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
creating libtool
updating cache ./config.cache
configure: loading cache ./config.cache
checking how to run the C++ preprocessor...
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-E
loading cache ./config.cache within ltconfig
checking host system type... x86_64-redhat-linux-gnu
checking build system type... x86_64-redhat-linux-gnu
checking for objdir... .libs
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
option to produce PIC... -fPIC -DPIC
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
PIC flag -fPIC -DPIC works... yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
static flag -static works... no
finding the maximum length of command line arguments... (cached) 49153
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -c -o file.o... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -fno-rtti -fno-exceptions ... yes
checking whether the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
-m elf_i386) supports shared libraries...
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
output... failed
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
appending configuration tag "CXX" to libtool
checking for exception model to use... call frame
checking for compiler with PCH support... yes
checking for enabled PCH... yes
checking for underlying I/O to use... stdio
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for C locale to use... generic
checking for std::allocator base class... new
configure: "C" header strategy set to c_std
checking for enabled long long specializations... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking for mbstate_t... yes
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for enabled wchar_t specializations... yes
checking for ISO C99 support in <math.h>... yes
checking complex.h usability... yes
checking complex.h presence... yes
checking for complex.h... yes
checking for ISO C99 support in <complex.h>... yes
checking for ISO C99 support in <stdio.h>... yes
checking for ISO C99 support in <stdlib.h>... yes
checking for ISO C99 support in <wchar.h>... yes
checking for fully enabled ISO C99 support... yes
configure: Debug build flags set to -g3 -O0
checking for additional debug build... no
checking for extra compiler flags for building...
checking for thread model used by GCC... posix
checking for atomic builtins... no
checking for g++ that supports -ffunction-sections -fdata-sections... yes
checking nan.h usability... no
checking nan.h presence... no
checking for nan.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking sys/isa_defs.h usability... no
checking sys/isa_defs.h presence... no
checking for sys/isa_defs.h... no
checking machine/endian.h usability... no
checking machine/endian.h presence... no
checking for machine/endian.h... no
checking machine/param.h usability... no
checking machine/param.h presence... no
checking for machine/param.h... no
checking sys/machine.h usability... no
checking sys/machine.h presence... no
checking for sys/machine.h... no
checking fp.h usability... no
checking fp.h presence... no
checking for fp.h... no
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking for inttypes.h... (cached) yes
checking gconv.h usability... yes
checking gconv.h presence... yes
checking for gconv.h... yes
checking for sys/types.h... (cached) yes
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/sem.h usability... yes
checking sys/sem.h presence... yes
checking for sys/sem.h... yes
checking for ld version... 2411
checking for ld that supports -Wl,-z,relro... yes
*checking for sin in -lm... configure: error: Link tests are not allowed
after GCC_NO_EXECUTABLES.*
make[3]: *** [configure-target-libstdc++-v3] ŽíÎó 1
make[3]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] ŽíÎó 2
make[2]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] ŽíÎó 2
make[1]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn'
make: *** [build] ŽíÎó 2

I have libstdc++4.8-dev, lib64stdc++4.8.dev libm installed on my desktop.
No problem to build $gcc test.c -lm.
Post by Jian-Xin Lai
David's patch is the key to this problem. You may need to revise his patch
with the information from the gcc output.
Post by Nancy
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crtn.o
I think the file exist and uses correctly or the crtendS.o,
crtendBeginS.o ... could not rebuilt successfully.
:~/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc$
*/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc*
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O2 -DTARG_X8664 -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so &&
if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
I don't known where you give the newly built "xgcc"'s parameters( in
Makefile or somewhere ), that place miss the path in front of crti.o crtn.o.
Post by Jian-Xin Lai
Have you tried to compile a small program with gcc -m32? Does it work?
gcc -m32 -print-file-name=crti.o
gcc -m32 -print-file-name=crtn.o
gcc -m64 -print-file-name=crti.o
gcc -m64 -print-file-name=crtn.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crti.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crtn.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o
You may check these outputs and make sure the files exist and are used
correctly.
The patch still not working for me. Still the same error. Though the
Post by Jian-Xin Lai
value of MULTILIB_OSDIRNAMES changes, but still no path in front of
crti.o, crtn.o :(
Post by David Coakley
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Thanks for this information :)
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d
/usr/lib64 ] ;
Post by David Coakley
then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64
../lib32"
Post by David Coakley
; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Post by David Coakley
-David
Post by Nancy
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try
installing the
Post by David Coakley
Post by Nancy
Post by David Coakley
'gcc-multilib' package.
No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed
already.
Post by David Coakley
Post by Nancy
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu
14.04
Post by David Coakley
Post by Nancy
Post by David Coakley
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
Post by Nancy
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)
or not replace it, still the same error. This software enviroment
has no
Post by David Coakley
Post by Nancy
problem building gcc 4.8.2 or LLVM with debug mode opened from
sourcecode.
Post by David Coakley
Post by Nancy
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
Jian-Xin Lai
2014-08-27 05:03:58 UTC
Permalink
There should be a file named config.log in the libstdc++-v3 and you may get
more clues fro there. Now the build scripts has built the gcc 4.2
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc)
and tried to use it to build the libstdc++ shipped with gcc 4.2 (otherwise
there will be compatibility issues between the front end and stdc++).
Basically, the system libm should be used.
Post by Nancy
I don't think so. MULTILIB_OSDIRNAMES controls multilib build, cri.o,
crtn.o do not belong to multilib.
Modify the contents of file
%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}
*/usr/lib/i386-linux-gnu/*crti.o%s
%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}
%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}
%{shared|pie:crtendS.o%s;:crtend.o%s} */usr/lib/gcc/i386-linux-gnu/*
crtn.o%s
This "specs" file was automatically generated by
osprey-gcc-4.2.0/gcc/Makefile.in:1409 rules
$(SPECS): xgcc$(exeext)
$(GCC_FOR_TARGET) -dumpspecs > tmp-specs
mv tmp-specs $(SPECS)
I don't known how to control GCC_FOR_TARGET correctly.
make[4]:正圚犻匀目圕
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
Checking multilib configuration for libstdc++-v3...
Configuring in x86_64-redhat-linux/libstdc++-v3
configure: loading cache ./config.cache
*checking build system type... (cached) x86_64-redhat-linux-gnu*
*checking host system type... (cached) x86_64-redhat-linux-gnu*
*checking target system type... (cached) x86_64-redhat-linux-gnu*
*How come to get this result, my machine is i686 smp Ubuntu?*
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... (cached) gawk
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C preprocessor... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-E
checking for egrep... (cached) grep -E
checking for x86_64-redhat-linux-gcc... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
accepts -g... (cached) yes
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
option to accept ANSI C... (cached) none needed
checking for x86_64-redhat-linux-g++... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
accepts -g... (cached) yes
checking whether ln -s works... yes
checking for x86_64-redhat-linux-as... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/as
checking for x86_64-redhat-linux-ar... (cached) ar
checking for x86_64-redhat-linux-ranlib... (cached) ranlib
checking whether to enable maintainer-specific portions of Makefiles... no
configure: CPU config directory is cpu/i486
configure: OS config directory is os/gnu-linux
checking for ld used by GCC... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
checking if the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld)
is GNU ld... (cached) yes
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
option to reload object files... (cached) -r
checking for BSD-compatible nm... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
checking how to recognise dependant libraries... (cached) pass_all
checking the maximum length of command line arguments... (cached) 49153
checking for x86_64-redhat-linux-ranlib... (cached) ranlib
checking for x86_64-redhat-linux-strip... (cached) strip
updating cache ./config.cache
loading cache ./config.cache within ltconfig
checking whether -lc should be explicitly linked in... (cached) no
checking for objdir... .libs
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
option to produce PIC... -fPIC -DPIC
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
PIC flag -fPIC -DPIC works... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
static flag works... (cached) no
finding the maximum length of command line arguments... (cached) 49153
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -c -o file.o... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -fno-rtti -fno-exceptions ... no
checking whether the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
-m elf_i386) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
output... failed
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
creating libtool
updating cache ./config.cache
configure: loading cache ./config.cache
checking how to run the C++ preprocessor...
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-E
loading cache ./config.cache within ltconfig
checking host system type... x86_64-redhat-linux-gnu
checking build system type... x86_64-redhat-linux-gnu
checking for objdir... .libs
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
option to produce PIC... -fPIC -DPIC
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
PIC flag -fPIC -DPIC works... yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
static flag -static works... no
finding the maximum length of command line arguments... (cached) 49153
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -c -o file.o... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -fno-rtti -fno-exceptions ... yes
checking whether the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
-m elf_i386) supports shared libraries...
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
output... failed
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
appending configuration tag "CXX" to libtool
checking for exception model to use... call frame
checking for compiler with PCH support... yes
checking for enabled PCH... yes
checking for underlying I/O to use... stdio
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for C locale to use... generic
checking for std::allocator base class... new
configure: "C" header strategy set to c_std
checking for enabled long long specializations... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking for mbstate_t... yes
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for enabled wchar_t specializations... yes
checking for ISO C99 support in <math.h>... yes
checking complex.h usability... yes
checking complex.h presence... yes
checking for complex.h... yes
checking for ISO C99 support in <complex.h>... yes
checking for ISO C99 support in <stdio.h>... yes
checking for ISO C99 support in <stdlib.h>... yes
checking for ISO C99 support in <wchar.h>... yes
checking for fully enabled ISO C99 support... yes
configure: Debug build flags set to -g3 -O0
checking for additional debug build... no
checking for extra compiler flags for building...
checking for thread model used by GCC... posix
checking for atomic builtins... no
checking for g++ that supports -ffunction-sections -fdata-sections... yes
checking nan.h usability... no
checking nan.h presence... no
checking for nan.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking sys/isa_defs.h usability... no
checking sys/isa_defs.h presence... no
checking for sys/isa_defs.h... no
checking machine/endian.h usability... no
checking machine/endian.h presence... no
checking for machine/endian.h... no
checking machine/param.h usability... no
checking machine/param.h presence... no
checking for machine/param.h... no
checking sys/machine.h usability... no
checking sys/machine.h presence... no
checking for sys/machine.h... no
checking fp.h usability... no
checking fp.h presence... no
checking for fp.h... no
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking for inttypes.h... (cached) yes
checking gconv.h usability... yes
checking gconv.h presence... yes
checking for gconv.h... yes
checking for sys/types.h... (cached) yes
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/sem.h usability... yes
checking sys/sem.h presence... yes
checking for sys/sem.h... yes
checking for ld version... 2411
checking for ld that supports -Wl,-z,relro... yes
*checking for sin in -lm... configure: error: Link tests are not allowed
after GCC_NO_EXECUTABLES.*
make[3]: *** [configure-target-libstdc++-v3] 错误 1
make[3]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] 错误 2
make[2]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] 错误 2
make[1]:正圚犻匀目圕 `/home/nancy/work/build-open64-svn'
make: *** [build] 错误 2
I have libstdc++4.8-dev, lib64stdc++4.8.dev libm installed on my desktop.
No problem to build $gcc test.c -lm.
Post by Jian-Xin Lai
David's patch is the key to this problem. You may need to revise his
patch with the information from the gcc output.
Post by Nancy
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crtn.o
I think the file exist and uses correctly or the crtendS.o,
crtendBeginS.o ... could not rebuilt successfully.
:~/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc$
*/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc*
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O2 -DTARG_X8664 -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so &&
if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
I don't known where you give the newly built "xgcc"'s parameters( in
Makefile or somewhere ), that place miss the path in front of crti.o crtn.o.
Post by Jian-Xin Lai
Have you tried to compile a small program with gcc -m32? Does it work?
gcc -m32 -print-file-name=crti.o
gcc -m32 -print-file-name=crtn.o
gcc -m64 -print-file-name=crti.o
gcc -m64 -print-file-name=crtn.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crti.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crtn.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o
You may check these outputs and make sure the files exist and are used
correctly.
The patch still not working for me. Still the same error. Though the
Post by Jian-Xin Lai
value of MULTILIB_OSDIRNAMES changes, but still no path in front of
crti.o, crtn.o :(
Post by David Coakley
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Thanks for this information :)
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d
/usr/lib64 ] ;
Post by David Coakley
then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64
../lib32"
Post by David Coakley
; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Post by David Coakley
-David
Post by Nancy
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try
installing the
Post by David Coakley
Post by Nancy
Post by David Coakley
'gcc-multilib' package.
No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed
already.
Post by David Coakley
Post by Nancy
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu
14.04
Post by David Coakley
Post by Nancy
Post by David Coakley
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
Post by Nancy
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)
or not replace it, still the same error. This software enviroment
has no
Post by David Coakley
Post by Nancy
problem building gcc 4.8.2 or LLVM with debug mode opened from
sourcecode.
Post by David Coakley
Post by Nancy
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
Nancy
2014-08-27 09:07:09 UTC
Permalink
Thanks for your Information :)

After give path in front of crt1.o in file "specs", no more issue !!!!
*startfile:
%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:
*/usr/lib/gcc/i386-linux-gnu/*crt1.o%s}}
/usr/lib/gcc/i386-linux-gnu/crti.o%s
%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}



****@nancy-ThinkPad-T61:~/work/test$ opencc test.c -v*
Open64 Compiler Suite: Version 5.0
Built on: 2014-08-27 15:26:42 +0800
Thread model: posix
GNU gcc version 4.2.0 (Open64 5.0 driver)
/home/nancy/toolchains/open64/open64-gcc-4.2.0/bin/gcc -D__OPEN64__="5.0"
-D__OPENCC__=5 -D__OPENCC_MINOR__=0 -D__OPENCC_PATCHLEVEL__= -O2
-D__OPTIMIZE__ -v -m32 -xc -isystem
/home/nancy/toolchains/open64/include/5.0 -isystem
/home/nancy/toolchains/open64/include -E -msse2 test.c -o /tmp/cci#.h0RJ8o
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../../open64-svn/./osprey-gcc-4.2.0/configure
--prefix=/home/nancy/toolchains/open64/open64-gcc-4.2.0 --with-gnu-as
--with-gnu-ld --enable-languages=c,c++ --disable-bootstrap
--disable-libmudflap --disable-libssp --disable-checking
--enable-threads=posix --enable-tls --with-system-zlib
--enable-__cxa_atexit --srcdir=../../open64-svn/./osprey-gcc-4.2.0
--host=x86_64-redhat-linux --target=x86_64-redhat-linux
Thread model: posix
gcc version 4.2.0
/home/nancy/toolchains/open64/open64-gcc-4.2.0/libexec/gcc/x86_64-redhat-linux/4.2.0/cc1
-E -quiet -v -imultilib 32 -D__OPEN64__="5.0" -D__OPENCC__=5
-D__OPENCC_MINOR__=0 -D__OPENCC_PATCHLEVEL__= -D__OPTIMIZE__ -isystem
/home/nancy/toolchains/open64/include/5.0 -isystem
/home/nancy/toolchains/open64/include test.c -o /tmp/cci#.h0RJ8o -m32
-msse2 -mtune=generic -O2
ignoring nonexistent directory
"/home/nancy/toolchains/open64/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/home/nancy/toolchains/open64/include/5.0
/home/nancy/toolchains/open64/include
/usr/local/include
/home/nancy/toolchains/open64/open64-gcc-4.2.0/include
/home/nancy/toolchains/open64/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/include
/usr/include
End of search list.
/home/nancy/toolchains/open64/lib/gcc-lib/x86_64-open64-linux/5.0/cc142 -O2
-fi386-host -fcxx-openmp -msse2 -dx -version -quiet -m32 -fpreprocessed
-fbuiltin -dumpbase test.c /tmp/cci#.h0RJ8o -spinfile /tmp/ccspin#.1M1X2P
GNU C version 4.2.0 (x86_64-redhat-linux)
compiled by GNU C version 4.8.2.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: fc069a197ccd8d590234e673141ff3f6
/home/nancy/toolchains/open64/lib/gcc-lib/x86_64-open64-linux/5.0/wgen42
-fS,/tmp/ccspin#.1M1X2P -fB,/tmp/ccB#.9dyt6g
Compiling vprintf(0)
Compiling getchar(1)
Compiling fgetc_unlocked(2)
Compiling getc_unlocked(3)
Compiling getchar_unlocked(4)
Compiling putchar(5)
Compiling fputc_unlocked(6)
Compiling putc_unlocked(7)
Compiling putchar_unlocked(8)
Compiling feof_unlocked(9)
Compiling ferror_unlocked(10)
Compiling main(11)
/home/nancy/toolchains/open64/lib/gcc-lib/x86_64-open64-linux/5.0/inline
-LIST:source=off:notes=off -PHASE:w:c -O2 -show -TARG:abi=n32
-LANG:cxx_openmp=on -fB,/tmp/ccB#.9dyt6g -fI,/tmp/ccI#.zfKncI test.c

/home/nancy/toolchains/open64/lib/gcc-lib/x86_64-open64-linux/5.0/be
-LIST:source=off:notes=off -PHASE:w:c -G8 -O2 -show -TARG:abi=n32
-LANG:cxx_openmp=on -LANG:=ansi_c -TARG:processor=core -TARG:sse2=on
-TARG:mmx=on -TARG:sse=on -TARG:sse3=on -TARG:3dnow=off -TARG:sse4a=off
-TARG:ssse3=off -TARG:sse41=off -TARG:sse42=off -TARG:aes=off
-TARG:pclmul=off -TARG:avx=off -TARG:xop=off -TARG:fma=off -TARG:fma4=off
-fB,/tmp/ccI#.zfKncI -s -fs,/tmp/ccspin#.1M1X2P.s test.c
Compiling test.c (/tmp/ccI#.zfKncI) -- Back End
Compiling vprintf(0)
Compiling getchar(1)
Compiling fgetc_unlocked(2)
Compiling getc_unlocked(3)
Compiling getchar_unlocked(4)
Compiling putchar(5)
Compiling fputc_unlocked(6)
Compiling putc_unlocked(7)
Compiling putchar_unlocked(8)
Compiling feof_unlocked(9)
Compiling ferror_unlocked(10)
Compiling main(11)

/home/nancy/toolchains/open64/open64-gcc-4.2.0/bin/gcc -v -m32
/tmp/ccspin#.1M1X2P.s -c -o /tmp/cco.d2fehY
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../../open64-svn/./osprey-gcc-4.2.0/configure
--prefix=/home/nancy/toolchains/open64/open64-gcc-4.2.0 --with-gnu-as
--with-gnu-ld --enable-languages=c,c++ --disable-bootstrap
--disable-libmudflap --disable-libssp --disable-checking
--enable-threads=posix --enable-tls --with-system-zlib
--enable-__cxa_atexit --srcdir=../../open64-svn/./osprey-gcc-4.2.0
--host=x86_64-redhat-linux --target=x86_64-redhat-linux
Thread model: posix
gcc version 4.2.0
as -V -Qy --32 -o /tmp/cco.d2fehY /tmp/ccspin#.1M1X2P.s
GNU»ã±à°æ±Ÿ 2.24 (i686-linux-gnu) ʹÓÃBFD°æ±Ÿ (GNU Binutils for Ubuntu) 2.24
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../../open64-svn/./osprey-gcc-4.2.0/configure
--prefix=/home/nancy/toolchains/open64/open64-gcc-4.2.0 --with-gnu-as
--with-gnu-ld --enable-languages=c,c++ --disable-bootstrap
--disable-libmudflap --disable-libssp --disable-checking
--enable-threads=posix --enable-tls --with-system-zlib
--enable-__cxa_atexit --srcdir=../../open64-svn/./osprey-gcc-4.2.0
--host=x86_64-redhat-linux --target=x86_64-redhat-linux
Thread model: posix
gcc version 4.2.0
/home/nancy/toolchains/open64/open64-gcc-4.2.0/libexec/gcc/x86_64-redhat-linux/4.2.0/collect2
--eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 *crt1.o
crti.o */home/nancy/toolchains/open64/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/32/crtbegin.o
-L/home/nancy/toolchains/open64//lib/gcc-lib/x86_64-open64-linux/5.0/32
-L/home/nancy/toolchains/open64/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/32
-L/home/nancy/toolchains/open64/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/../../../../lib/i366-linux-gnu
-L/home/nancy/toolchains/open64/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0
-L/home/nancy/toolchains/open64/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/../../..
-rpath
/home/nancy/toolchains/open64//lib/gcc-lib/x86_64-open64-linux/5.0/32
-rpath-link
/home/nancy/toolchains/open64//lib/gcc-lib/x86_64-open64-linux/5.0/32
/tmp/cco.d2fehY -lopen64rt -lgcc --as-needed -lgcc_s --no-as-needed -lc
-lgcc --as-needed -lgcc_s --no-as-needed
/home/nancy/toolchains/open64/open64-gcc-4.2.0/lib/gcc/x86_64-redhat-linux/4.2.0/32/crtend.o
*crtn.o*
/usr/local/bin/ld: error: cannot open crt1.o: ûÓÐÄÇžöÎÄŒþ»òÄ¿ÂŒ
/usr/local/bin/ld: error: cannot open crti.o: ûÓÐÄÇžöÎÄŒþ»òÄ¿ÂŒ
/usr/local/bin/ld: error: cannot open crtn.o: ûÓÐÄÇžöÎÄŒþ»òÄ¿ÂŒ
collect2: ld returned 1 exit status

Open64 uses system original crt1.o, crti.o, and crtn.o but lack of path! I
think this bug needs to be fixed. Also curious why not rebuild them, just
like other multilib(crtend.o......)

I can use GDB to catch its workflow now. Thanks for all your helps! :)
Post by Jian-Xin Lai
There should be a file named config.log in the libstdc++-v3 and you may
get more clues fro there. Now the build scripts has built the gcc 4.2 (/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc)
and tried to use it to build the libstdc++ shipped with gcc 4.2 (otherwise
there will be compatibility issues between the front end and stdc++).
Basically, the system libm should be used.
I don't think so. MULTILIB_OSDIRNAMES controls multilib build, cri.o,
Post by Nancy
crtn.o do not belong to multilib.
Modify the contents of file
%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}
*/usr/lib/i386-linux-gnu/*crti.o%s
%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}
%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}
%{shared|pie:crtendS.o%s;:crtend.o%s} */usr/lib/gcc/i386-linux-gnu/*
crtn.o%s
This "specs" file was automatically generated by
osprey-gcc-4.2.0/gcc/Makefile.in:1409 rules
$(SPECS): xgcc$(exeext)
$(GCC_FOR_TARGET) -dumpspecs > tmp-specs
mv tmp-specs $(SPECS)
I don't known how to control GCC_FOR_TARGET correctly.
make[4]:ÕýÔÚÀ뿪ĿŒ
`/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc'
Checking multilib configuration for libstdc++-v3...
Configuring in x86_64-redhat-linux/libstdc++-v3
configure: loading cache ./config.cache
*checking build system type... (cached) x86_64-redhat-linux-gnu*
*checking host system type... (cached) x86_64-redhat-linux-gnu*
*checking target system type... (cached) x86_64-redhat-linux-gnu*
*How come to get this result, my machine is i686 smp Ubuntu?*
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... (cached) gawk
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C preprocessor... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-E
checking for egrep... (cached) grep -E
checking for x86_64-redhat-linux-gcc... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
accepts -g... (cached) yes
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
option to accept ANSI C... (cached) none needed
checking for x86_64-redhat-linux-g++... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
accepts -g... (cached) yes
checking whether ln -s works... yes
checking for x86_64-redhat-linux-as... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/as
checking for x86_64-redhat-linux-ar... (cached) ar
checking for x86_64-redhat-linux-ranlib... (cached) ranlib
checking whether to enable maintainer-specific portions of Makefiles... no
configure: CPU config directory is cpu/i486
configure: OS config directory is os/gnu-linux
checking for ld used by GCC... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
checking if the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld)
is GNU ld... (cached) yes
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
option to reload object files... (cached) -r
checking for BSD-compatible nm... (cached)
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
checking how to recognise dependant libraries... (cached) pass_all
checking the maximum length of command line arguments... (cached) 49153
checking for x86_64-redhat-linux-ranlib... (cached) ranlib
checking for x86_64-redhat-linux-strip... (cached) strip
updating cache ./config.cache
loading cache ./config.cache within ltconfig
checking whether -lc should be explicitly linked in... (cached) no
checking for objdir... .libs
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
option to produce PIC... -fPIC -DPIC
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
PIC flag -fPIC -DPIC works... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
static flag works... (cached) no
finding the maximum length of command line arguments... (cached) 49153
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -c -o file.o... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -fno-rtti -fno-exceptions ... no
checking whether the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
-m elf_i386) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
output... failed
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
creating libtool
updating cache ./config.cache
configure: loading cache ./config.cache
checking how to run the C++ preprocessor...
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
-shared-libgcc
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc
-nostdinc++
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src
-L/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/x86_64-redhat-linux/libstdc++-v3/src/.libs
-m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-E
loading cache ./config.cache within ltconfig
checking host system type... x86_64-redhat-linux-gnu
checking build system type... x86_64-redhat-linux-gnu
checking for objdir... .libs
checking for
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
option to produce PIC... -fPIC -DPIC
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
PIC flag -fPIC -DPIC works... yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
static flag -static works... no
finding the maximum length of command line arguments... (cached) 49153
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -c -o file.o... (cached) yes
checking if
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc
supports -fno-rtti -fno-exceptions ... yes
checking whether the linker
(/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/collect-ld
-m elf_i386) supports shared libraries...
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking command to parse
/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/nm
output... failed
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
appending configuration tag "CXX" to libtool
checking for exception model to use... call frame
checking for compiler with PCH support... yes
checking for enabled PCH... yes
checking for underlying I/O to use... stdio
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for C locale to use... generic
checking for std::allocator base class... new
configure: "C" header strategy set to c_std
checking for enabled long long specializations... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking for mbstate_t... yes
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for enabled wchar_t specializations... yes
checking for ISO C99 support in <math.h>... yes
checking complex.h usability... yes
checking complex.h presence... yes
checking for complex.h... yes
checking for ISO C99 support in <complex.h>... yes
checking for ISO C99 support in <stdio.h>... yes
checking for ISO C99 support in <stdlib.h>... yes
checking for ISO C99 support in <wchar.h>... yes
checking for fully enabled ISO C99 support... yes
configure: Debug build flags set to -g3 -O0
checking for additional debug build... no
checking for extra compiler flags for building...
checking for thread model used by GCC... posix
checking for atomic builtins... no
checking for g++ that supports -ffunction-sections -fdata-sections... yes
checking nan.h usability... no
checking nan.h presence... no
checking for nan.h... no
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking sys/isa_defs.h usability... no
checking sys/isa_defs.h presence... no
checking for sys/isa_defs.h... no
checking machine/endian.h usability... no
checking machine/endian.h presence... no
checking for machine/endian.h... no
checking machine/param.h usability... no
checking machine/param.h presence... no
checking for machine/param.h... no
checking sys/machine.h usability... no
checking sys/machine.h presence... no
checking for sys/machine.h... no
checking fp.h usability... no
checking fp.h presence... no
checking for fp.h... no
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking for inttypes.h... (cached) yes
checking gconv.h usability... yes
checking gconv.h presence... yes
checking for gconv.h... yes
checking for sys/types.h... (cached) yes
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/sem.h usability... yes
checking sys/sem.h presence... yes
checking for sys/sem.h... yes
checking for ld version... 2411
checking for ld that supports -Wl,-z,relro... yes
*checking for sin in -lm... configure: error: Link tests are not allowed
after GCC_NO_EXECUTABLES.*
make[3]: *** [configure-target-libstdc++-v3] ŽíÎó 1
make[3]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[2]: *** [all] ŽíÎó 2
make[2]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0'
make[1]: *** [cc1] ŽíÎó 2
make[1]:ÕýÔÚÀ뿪ĿŒ `/home/nancy/work/build-open64-svn'
make: *** [build] ŽíÎó 2
I have libstdc++4.8-dev, lib64stdc++4.8.dev libm installed on my desktop.
No problem to build $gcc test.c -lm.
Post by Jian-Xin Lai
David's patch is the key to this problem. You may need to revise his
patch with the information from the gcc output.
Post by Nancy
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crtn.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crti.o
/usr/lib/gcc/i686-linux-gnu/4.8/../../../../lib64/crtn.o
I think the file exist and uses correctly or the crtendS.o,
crtendBeginS.o ... could not rebuilt successfully.
:~/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc$
*/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/xgcc*
-B/home/nancy/work/build-open64-svn/osprey-gcc-4.2.0/host-unknown/gcc/ -m32
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/bin/
-B/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/lib/
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/include
-isystem
/home/nancy/toolchains/open64/open64-gcc-4.2.0/x86_64-redhat-linux/sys-include
-O2 -O2 -O2 -DTARG_X8664 -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem
./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1
-Wl,--version-script=libgcc/./libgcc.map -o ./libgcc_s.so.1.tmp
libgcc/./_muldi3_s.o libgcc/./_negdi2_s.o libgcc/./_lshrdi3_s.o
libgcc/./_ashldi3_s.o libgcc/./_ashrdi3_s.o libgcc/./_cmpdi2_s.o
libgcc/./_ucmpdi2_s.o libgcc/./_clear_cache_s.o
libgcc/./_enable_execute_stack_s.o libgcc/./_trampoline_s.o
libgcc/./__main_s.o libgcc/./_absvsi2_s.o libgcc/./_absvdi2_s.o
libgcc/./_addvsi3_s.o libgcc/./_addvdi3_s.o libgcc/./_subvsi3_s.o
libgcc/./_subvdi3_s.o libgcc/./_mulvsi3_s.o libgcc/./_mulvdi3_s.o
libgcc/./_negvsi2_s.o libgcc/./_negvdi2_s.o libgcc/./_ctors_s.o
libgcc/./_ffssi2_s.o libgcc/./_ffsdi2_s.o libgcc/./_clz_s.o
libgcc/./_clzsi2_s.o libgcc/./_clzdi2_s.o libgcc/./_ctzsi2_s.o
libgcc/./_ctzdi2_s.o libgcc/./_popcount_tab_s.o libgcc/./_popcountsi2_s.o
libgcc/./_popcountdi2_s.o libgcc/./_paritysi2_s.o libgcc/./_paritydi2_s.o
libgcc/./_powisf2_s.o libgcc/./_powidf2_s.o libgcc/./_powixf2_s.o
libgcc/./_powitf2_s.o libgcc/./_mulsc3_s.o libgcc/./_muldc3_s.o
libgcc/./_mulxc3_s.o libgcc/./_multc3_s.o libgcc/./_divsc3_s.o
libgcc/./_divdc3_s.o libgcc/./_divxc3_s.o libgcc/./_divtc3_s.o
libgcc/./_fixunssfsi_s.o libgcc/./_fixunsdfsi_s.o libgcc/./_fixunsxfsi_s.o
libgcc/./_fixsfdi_s.o libgcc/./_fixunssfdi_s.o libgcc/./_floatdisf_s.o
libgcc/./_floatundisf_s.o libgcc/./_fixdfdi_s.o libgcc/./_fixunsdfdi_s.o
libgcc/./_floatdidf_s.o libgcc/./_floatundidf_s.o libgcc/./_fixxfdi_s.o
libgcc/./_fixunsxfdi_s.o libgcc/./_floatdixf_s.o libgcc/./_floatundixf_s.o
libgcc/./_fixtfdi_s.o libgcc/./_fixunstfdi_s.o libgcc/./_floatditf_s.o
libgcc/./_floatunditf_s.o libgcc/./_divdi3_s.o libgcc/./_moddi3_s.o
libgcc/./_udivdi3_s.o libgcc/./_umoddi3_s.o libgcc/./_udiv_w_sdiv_s.o
libgcc/./_udivmoddi4_s.o libgcc/./unwind-dw2_s.o
libgcc/./unwind-dw2-fde-glibc_s.o libgcc/./unwind-sjlj_s.o
libgcc/./gthr-gnat_s.o libgcc/./unwind-c_s.o -lc && rm -f ./libgcc_s.so &&
if [ -f ./libgcc_s.so.1 ]; then mv -f ./libgcc_s.so.1
./libgcc_s.so.1.backup; else true; fi && mv ./libgcc_s.so.1.tmp
./libgcc_s.so.1 && ln -s libgcc_s.so.1 ./libgcc_s.so
I don't known where you give the newly built "xgcc"'s parameters( in
Makefile or somewhere ), that place miss the path in front of crti.o crtn.o.
Post by Jian-Xin Lai
Have you tried to compile a small program with gcc -m32? Does it work?
gcc -m32 -print-file-name=crti.o
gcc -m32 -print-file-name=crtn.o
gcc -m64 -print-file-name=crti.o
gcc -m64 -print-file-name=crtn.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crti.o
Post by Jian-Xin Lai
gcc -m32 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib/crtn.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crti.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o
Post by Jian-Xin Lai
gcc -m64 -print-file-name=crtn.o
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o
You may check these outputs and make sure the files exist and are used
correctly.
The patch still not working for me. Still the same error. Though the
Post by Jian-Xin Lai
value of MULTILIB_OSDIRNAMES changes, but still no path in front of
crti.o, crtn.o :(
Post by David Coakley
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Thanks for this information :)
Post by David Coakley
Index: osprey-gcc-4.2.0/gcc/config/i386/t-linux64
===================================================================
--- osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (revision 4115)
+++ osprey-gcc-4.2.0/gcc/config/i386/t-linux64 (working copy)
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -d
/usr/lib64 ] ;
Post by David Coakley
then echo "../lib64 ../lib32" ; else echo "../lib/x86_64-linux-gnu
../lib32" ; fi)
+MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o -a -f /usr/lib32/crti.o ] ; then echo "../lib64
../lib32"
Post by David Coakley
; else echo "../lib/x86_64-linux-gnu ../lib/i386-linux-gnu" ; fi)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
By the way, x32 is a different ABI (
http://en.wikipedia.org/wiki/X32_ABI).
Post by David Coakley
-David
Post by Nancy
Post by David Coakley
Does /usr/lib32/crti.o exist on your system? If not, try
installing the
Post by David Coakley
Post by Nancy
Post by David Coakley
'gcc-multilib' package.
No, there's no /usr/lib32 folder exist but both /usr/libx32/crti.o
/usr/lib64/crti.o do exist. And I have 'gcc-multilib' installed
already.
Post by David Coakley
Post by Nancy
Post by David Coakley
Here are all the packages I installed on a desktop 64-bit Ubuntu
14.04
Post by David Coakley
Post by Nancy
Post by David Coakley
build-essential
subversion
flex
bison
g++
gfortran
gcc-multilib
gfortran-multilib
I installed the missing gfortran & gfortran-multilib.
MULTILIB_OSDIRNAMES = $(shell if file /usr/lib/crti.o -Lb |fgrep
"ELF
Post by David Coakley
Post by Nancy
32-bit" >/dev/null ; then echo "../lib64 ../lib"; elif [ -f
/usr/lib64/crti.o ] ; then echo "../lib64 ../libx32" ; else echo
"../lib/x86_64-linux-gnu ../libx32" ; fi)
or not replace it, still the same error. This software enviroment
has no
Post by David Coakley
Post by Nancy
problem building gcc 4.8.2 or LLVM with debug mode opened from
sourcecode.
Post by David Coakley
Post by Nancy
--
Best Regards,
Yu Rong Tan
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
--
Regards,
Lai Jian-Xin
--
Best Regards,
Yu Rong Tan
Jian-Xin Lai
2014-08-21 05:31:26 UTC
Permalink
Yes, please go ahead and check this patch in. Thank you very much.
Post by David Coakley
Hello,
There is an easy fix for the getopts issue. If one of the Open64
gatekeepers can approve the following patch, I will check it in.
-David
Update gen_x_set to use modern Perl.
Index: osprey/common/util/gen_x_set
===================================================================
--- osprey/common/util/gen_x_set (revision 4072)
+++ osprey/common/util/gen_x_set (working copy)
@@ -111,7 +111,7 @@
### ====================================================================
### ====================================================================
-require "getopts.pl";
+use Getopt::Std;
# Look for the templates in the same directory as this script resides.
#
@@ -119,7 +119,7 @@
$utildir =~ s=/[^/]*$==;
$utildir = '.' if ( $utildir eq $0 );
-&Getopts("fs");
+getopts("fs");
# Macro or functional interface?
#
Jian-Xin Lai
2014-08-21 05:33:41 UTC
Permalink
x86_64 is better.
Loading...