public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/57291] New: Failure in build stages 2 and 3 concerning pseudo-op: .balign
@ 2013-05-15 15:09 ExtraLeveLInSoftware at ntlworld dot com
2013-06-09 19:36 ` [Bug bootstrap/57291] " ncahill_alt at yahoo dot com
0 siblings, 1 reply; 2+ messages in thread
From: ExtraLeveLInSoftware at ntlworld dot com @ 2013-05-15 15:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57291
Bug ID: 57291
Summary: Failure in build stages 2 and 3 concerning pseudo-op:
.balign
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: ExtraLeveLInSoftware at ntlworld dot com
Failure in build stages 2 and 3 of gcc-4.7.2
To: gcc-bugs
1. Introduction
Trying to build gcc-4.7.2.
Running Mac OS X:
System Version: Mac OS X 10.5.8 (9L30)
Kernel Version: Darwin 9.8.0
>uname -mpv
Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009;
root:xnu-1228.15.4~1/RELEASE_I386 i386 i386
This bug report concerns the following points.
- An error reported by make in stage 2
- The same error reported by make in stage 3
2. Report from configure
The existing compilation system for stage 1 was obtained as a
ready built version of ada-4.3 in /usr/local/ada-4.3/bin/ (however, it
reports that it is 4.4.0).
bash> gcc --version
gcc (GCC) 4.4.0 20080314 (experimental) [trunk revision 133226]
Copyright (C) 2008 Free Software Foundation, Inc.
Building in /Gnu/gcc/obj. Sources in /Gnu/gcc/src/gcc-4.7.2/.
The configure command was
../src/gcc-4.7.2/gcc-4.7.2/configure --enable-languages=ada,c,c++
This completed OK.
3. An error reported by make in stage2
Ran make &> ../logs/make-4.log This redirects error stream too.
The make 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 character
valued 49 (1).
make[3]: *** [lex.o] Error 1
make[2]: *** [all-stage2-libcpp] Error 2
make[1]: *** [stage2-bubble] Error 2
make: *** [all] Error 2
It seems that the first build using the older C and Ada compilers has
completed OK, but the next bootstrap stage has failed.
Help was sought from the gcc-help mailing list (see:
29 April 2013, Ongoing Error in make stage2 building gcc-4.7.2)
Response on gcc-help from Ian Lance Taylor with suggestion for how to
get round it: in libcpp/config.h "change HAVE_SSE4 to 0".
The version of the assembler is a possible problem:
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).
-----------------------------
4. An error reported by make in stage3
Modified libcpp/config.h to change HAVE_SSE4 to 0. Reran make.
Failed as before (but without redoing most of stage 1). Last few lines:
../../src/gcc-4.7.2/libcpp/lex.c:463:Unknown pseudo-op: .balign
etc as before ...
Modified prev-libcpp/config.h as well - failed with the same last few
lines.
Confirmed the test at the point of failure.
The test in lex.c affecting line 463 is "#ifdef HAVE_SSE4".
Modified libcpp/config.h and prev-libcpp/config.h to change HAVE_SSE4 to
undef.
With this it completed stage 2, but failed in stage 3 with the same
effect:
../../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 character
valued 49 (1).
make[3]: *** [lex.o] Error 1
make[2]: *** [all-stage3-libcpp] Error 2
make[1]: *** [stage3-bubble] Error 2
make: *** [all] Error 2
So a new config.h needed to be changed. The libcpp now matched the
prev-libcpp original:
Files libcpp/config.h and prev-libcpp/config.orig.h are identical
There are also stage1-libcpp, and so on now.
Applied this change; completed stage3:
Comparing stages 2 and 3
warning: gcc/cc1-checksum.o differs
warning: gcc/cc1plus-checksum.o differs
Comparison successful.
5. Information from the gcc-help mailing list
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 at redhat dot com>
Andi Kleen <ak at linux.intel dot com>
David S. Miller <davem at davemloft dot 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.
6. Summary of Bug
6.1 Failure compiling libcpp/lex.c
The failure "Unknown pseudo-op: .balign" occurs in stages 2 and 3.
It can be worked round by changing libcpp/config.h to set HAVE_SSE4 to
undef. This needs to be done at stages 2 and 3.
6.2 Suggested cure from Ian Lance Taylor
On 9 May 2013, at 19:09, Ian Lance Taylor wrote:
The fix will be to add .balign to to the SSE4 test near the end of
libcpp/configure.ac, or to avoid using .balign in the SSE4 assembly
code.
I can't explain the results you showed for the libcpp config.log file,
though. Based on those I would have expected to see a failure in
stage 1 as well. Clearly I am missing something.
6.3 If extra information about the matters reported above would be of value
please contact:
ExtraLeveLInSoftware at ntlworld dot com
Ellis N. Thomas/15-May-2013
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-06-09 19:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-15 15:09 [Bug bootstrap/57291] New: Failure in build stages 2 and 3 concerning pseudo-op: .balign ExtraLeveLInSoftware at ntlworld dot com
2013-06-09 19:36 ` [Bug bootstrap/57291] " ncahill_alt at yahoo dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).