Re: Ongoing Error in make stage2 building gcc-4.7.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ian,

	Many thanks for this information.  As far as I can see, the assembler
in this version of Mac OS X (provided with Apple's development tools) is:

bash>as -v
Apple Computer, Inc. version cctools-667.3~21, GNU assembler version 1.38

	From its 'man' page:
-----------------------------
The program /usr/bin/as is actually a driver that executes assemblers for specific target architectures. If no target architecture is speci- fied, it defaults to the architecture of the host it is running on.

	...

-v Display the version of the assembler (both the Mac OS X version
              and the GNU version it is based on).

-----------------------------

What is less clear is why my failure is reported at stage 2 of the 3 stage
bootstrap.  It was reported as:

make[3]: *** [lex.o] Error 1
make[2]: *** [all-stage2-libcpp] Error 2
make[1]: *** [stage2-bubble] Error 2
make: *** [all] Error 2

	As far as I can see, the same assembler would have been used at
stages 1 and 2. It would be expected also that the same source files were used. An assembler file generated at stage 2 by the compilation using the executable compilation system generated by stage 1 might well differ from the corresponding one produced at stage 1 by a different compilation system. However, the response below suggests that it is part of libcpp written in
assembly code - so would be expected to be the same at both stages.

	Regardless of the explanation for the above, is there any suggestion
as to how I can complete the bootstrap?

	Thanks,
		Ellis N. Thomas

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

On Mon, Apr 29, 2013 at 1:33 AM, Ellis N. Thomas
<ExtraLeveLInSoftware@xxxxxxxxxxxx> wrote:
       Trying to build gcc-4.7.2.

       Failed in stage2, last few lines of make-4.log:
../../src/gcc-4.7.2/libcpp/lex.c:463:Unknown pseudo-op: .balign
../../src/gcc-4.7.2/libcpp/lex.c:463:Rest of line ignored. 1st junk

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

2010-08-21  Richard Henderson  <rth@xxxxxxxxxx>
	    Andi Kleen <ak@xxxxxxxxxxxxxxx>
	    David S. Miller  <davem@xxxxxxxxxxxxx>

	* 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.

Ian





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux