This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ongoing Error in make stage2 building gcc-4.7.2


Ian,

	Further to previous exchanges of messages (parts below).

	Does your response of 29 Apr mean that I should submit a
bug report so that it can be addressed?

	I am still unable to proceed with building gcc.  Subsequent
to my message of 2 May, there have been no suggestions as to
how to get round this problem.

	Is there any way I can continue the bootstrap (from stage2?),
for example by constraining the behaviour in some way to avoid
this piece of assembly code?

	It is not easy for those of us coming relatively new to this
build process to find our way round the various scripts and logs
without some guidance.  For example, the unpacked gcc-4.7.2.tar.gz
comprises 80,935 items, and my partial build in obj/ has 8,307 items
taking 1.34GB.

	Some help would be appreciated!

	Ellis Thomas

On 1 May 2013, at 14:48, Ian Lance Taylor wrote:

The libcpp configure script tests the capabilities of the system in
deciding whether to use that assembly code or not.  That test
evidently failed with the stage 1 compiler but passed with the stage 2
compiler.  Looking at libcpp/config.log in both stage 1 and stage 2
might tell you more.  Look for SSE4 or pcmpestri.


On 2 May 2013, at 09:27, Ellis N. Thomas wrote:

 I located two logs which I take to be the 2 stages:
 libcpp/config.log
 prev-libcpp/config.log

	Searching these gave the following.
(I included "exit" in the RE search to clarify how far into the file the
match was found, and to confirm that the RE worked!  There is a wc
to confirm the file sizes.)

bash>egrep -n "SSE4|pcmpestri|configure: exit" {,prev-}libcpp/ config.log
libcpp/config.log:3567:#define HAVE_SSE4 1
libcpp/config.log:3569:configure: exit 0
prev-libcpp/config.log:3582:#define HAVE_SSE4 1
prev-libcpp/config.log:3584:configure: exit 0

bash>wc -l  {,prev-}libcpp/config.log
   3569 libcpp/config.log
   3584 prev-libcpp/config.log

	So pcmpestri was not located.

On 29 Apr 2013, at 16:07, Ian Lance Taylor wrote:

I would describe this as a bug in libcpp, introduced here:

2010-08-21  Richard Henderson  <rth@redhat.com>
	    Andi Kleen <ak@linux.intel.com>
	    David S. Miller  <davem@davemloft.net>

	* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
	(ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
	(ptrdiff_t): Check via AC_CHECK_TYPE.
	* config.in, configure: Rebuild.
	* system.h: Include stdint.h, if available.
	* lex.c (WORDS_BIGENDIAN): Provide default.
	(acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
	acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
	search_line_sse2, search_line_sse42, init_vectorized_lexer,
	search_line_fast): New.
	(_cpp_clean_line): Use search_line_fast.  Restructure the fast
	loop to make it clear when we're leaving the loop.  Stay in the
	fast loop for non-trigraph '?'.

libcpp contains assembler code for faster processing.  That assembler
code uses .balign.  That usually works, but evidently the Darwin
assembler does not support it.

I think this code needs to be fixed to check for .balign support.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]