diff options
| author | mrg <mrg@NetBSD.org> | 2003-10-18 11:54:13 +0000 |
|---|---|---|
| committer | mrg <mrg@NetBSD.org> | 2003-10-18 11:54:13 +0000 |
| commit | 9376f2c5fa9efe2f19a40f3fb6e0424e3c182d28 (patch) | |
| tree | 8eda25d7d6f78d94459f69962e2130832fc9c23d /gnu | |
| parent | d2ca050ea556ab1bd776d975f6c9f6400e4f7477 (diff) | |
merge gcc 3.3.2
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/dist/gcc/BUGS | 641 | ||||
| -rw-r--r-- | gnu/dist/gcc/ChangeLog | 24 | ||||
| -rw-r--r-- | gnu/dist/gcc/configure.in | 2 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/ChangeLog | 729 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/Makefile.in | 2 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/config.gcc | 64 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/config/i386/t-sco5gas | 23 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/config/sparc/sparc.md | 12 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/configure | 351 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/configure.in | 68 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/doc/cpp.1 | 2 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/doc/gcc.1 | 2 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/doc/gcov.1 | 2 | ||||
| -rw-r--r-- | gnu/dist/gcc/gcc/gcc.c | 3 |
14 files changed, 1354 insertions, 571 deletions
diff --git a/gnu/dist/gcc/BUGS b/gnu/dist/gcc/BUGS index a31e2a0bfb4..18e644849ee 100644 --- a/gnu/dist/gcc/BUGS +++ b/gnu/dist/gcc/BUGS @@ -16,14 +16,16 @@ Table of Contents + [8]Detailed bug reporting instructions when using a precompiled header * [9]Frequently Reported Bugs in GCC - + [10]General - + [11]Fortran - + [12]C - + [13]C++ - o [14]Common problems updating from G++ 2.95 to G++ 3.0 - o [15]Non-bugs - o [16]Missing features - o [17]Parse errors for "simple" code + + [10]C++ + o [11]ABI bugs + o [12]Missing features + o [13]Parse errors for "simple" code + + [14]Fortran + * [15]Non-bugs + + [16]General + + [17]C + + [18]C++ + o [19]Common problems updating from G++ 2.95 to G++ 3.0 _________________________________________________________________ Reporting Bugs @@ -32,7 +34,7 @@ Table of Contents most important prerequisite for this is that the report must be complete and self-contained, which we explain in detail below. - Before you report a bug, please check the [18]list of well-known bugs + Before you report a bug, please check the [20]list of well-known bugs and, if possible in any way, try a current development snapshot. If you want to report a bug with versions of GCC before 3.1 we strongly recommend upgrading to the current release first. @@ -100,17 +102,17 @@ Summarized bug reporting instructions Where to post it - Please submit your bug report directly to the [19]GCC bug database. + Please submit your bug report directly to the [21]GCC bug database. Alternatively, you can use the gccbug script that mails your bug report to the bug database. Only if all this is absolutely impossible, - mail all information to [20]gcc-bugs@gcc.gnu.org, but note that such + mail all information to [22]gcc-bugs@gcc.gnu.org, but note that such reports are often overlooked since they are not permanently recorded into the database for later processing. Detailed bug reporting instructions - Please refer to the [21]next section when reporting bugs in GNAT, the - Ada compiler, or to the [22]one after that when reporting bugs that + Please refer to the [23]next section when reporting bugs in GNAT, the + Ada compiler, or to the [24]one after that when reporting bugs that appear when using a precompiled header. In general, all the information we need can be obtained by collecting @@ -170,7 +172,7 @@ Detailed bug reporting instructions Detailed bug reporting instructions for GNAT - See the [23]previous section for bug reporting instructions for GCC + See the [25]previous section for bug reporting instructions for GCC language implementations other than Ada. Bug reports have to contain at least the following information in @@ -202,7 +204,7 @@ Detailed bug reporting instructions for GNAT you have to report a bug in gnatprep). When you have checked that your report meets these criteria, please - submit it according to our [24]generic instructions. (If you use a + submit it according to our [26]generic instructions. (If you use a mailing list for reporting, please include an "[Ada]" tag in the subject.) @@ -212,11 +214,11 @@ Detailed bug reporting instructions when using a precompiled header first thing to do is to delete the precompiled header, and try running the same GCC command again. If the bug happens again, the bug doesn't really involve precompiled headers, please report it without using - them by following the instructions [25]above. + them by following the instructions [27]above. If you've found a bug while building a precompiled header (for instance, the compiler crashes), follow the usual instructions - [26]above. + [28]above. If you've found a real precompiled header bug, what we'll need to reproduce it is the sources to build the precompiled header (as a @@ -230,254 +232,32 @@ Detailed bug reporting instructions when using a precompiled header Frequently Reported Bugs in GCC -Fortran - - Fortran bugs are documented in the G77 manual rather than explicitly - listed here. Please see [27]Known Causes of Trouble with GNU Fortran - in the G77 manual. - _________________________________________________________________ - -C - - The following are not bugs in the C compiler, but are reported often - enough to warrant a mention here. - - Cannot initialize a static variable with stdin. - This has nothing to do with GCC, but people ask us about it a - lot. Code like this: - -#include <stdio.h> - -FILE *yyin = stdin; - - will not compile with GNU libc (GNU/Linux libc6), because stdin - is not a constant. This was done deliberately, to make it - easier to maintain binary compatibility when the type FILE - needs to be changed. It is surprising for people used to - traditional Unix C libraries, but it is permitted by the C - standard. - - This construct commonly occurs in code generated by old - versions of lex or yacc. We suggest you try regenerating the - parser with a current version of flex or bison, respectively. - In your own code, the appropriate fix is to move the - initialization to the beginning of main. - - There is a common misconception that the GCC developers are - responsible for GNU libc. These are in fact two entirely - separate projects; please check the [28]GNU libc web pages for - details. - - Cannot use preprocessor directive in macro arguments. - Let me guess... you wrote code that looks something like this: - - memcpy(dest, src, -#ifdef PLATFORM1 - 12 -#else - 24 -#endif - ); - - and you got a whole pile of error messages: - - test.c:11: warning: preprocessing directive not recognized within - macro arg - test.c:11: warning: preprocessing directive not recognized within - macro arg - test.c:11: warning: preprocessing directive not recognized within - macro arg - test.c: In function `foo': - test.c:6: undefined or invalid # directive - test.c:8: undefined or invalid # directive - test.c:9: parse error before `24' - test.c:10: undefined or invalid # directive - test.c:11: parse error before `#' - - Update: As of GCC 3.2 this kind of construct is always accepted - and CPP will probably do what you expect, but see the manual - for detailed semantics. - - However, versions of GCC prior to 3.2 did not allow you to put - #ifdef (or any other directive) inside the arguments of a - macro. Your C library's <string.h> happens to define memcpy as - a macro - this is perfectly legitimate. The code therefore - would not compile. - - This kind of code is not portable. It is "undefined behavior" - according to the C standard; that means different compilers - will do different things with it. It is always possible to - rewrite code which uses conditionals inside macros so that it - doesn't. You could write the above example + This is a list of bugs in GCC that are reported very often, but not + yet fixed. While it is certainly better to fix bugs instead of + documenting them, this document might save people the effort of + writing a bug report when the bug is already well-known. -#ifdef PLATFORM1 - memcpy(dest, src, 12); -#else - memcpy(dest, src, 24); -#endif - - This is a bit more typing, but I personally think it's better - style in addition to being more portable. - - In recent versions of glibc, printf is among the functions - which are implemented as macros. + There are many reasons why a reported bug doesn't get fixed. It might + be difficult to fix, or fixing it might break compatibility. Often, + reports get a low priority when there is a simple work-around. In + particular, bugs caused by invalid code have a simple work-around: fix + the code. _________________________________________________________________ C++ - This is the list of bugs (and non-bugs) in g++ (aka GNU C++) that are - reported very often, but not yet fixed. While it is certainly better - to fix bugs instead of documenting them, this document might save - people the effort of writing a bug report when the bug is already - well-known. [29]How to report bugs tells you how to report a bug. - - There are many reasons why reported bugs don't get fixed. It might be - difficult to fix, or fixing it might break compatibility. Often, - reports get a low priority when there is a simple work-around. In - particular, bugs caused by invalid C++ code have a simple work-around, - fix the code. Now that there is an agreed ISO/ANSI standard for C++, - the compiler has a definitive document to adhere to. Earlier versions - might have accepted source code that is no longer C++. This means that - code which might have `worked' in a previous version, is now rejected. - You should update your code to be C++. - - You should try to use the latest stable release of the GNU C++ - compiler. - - Common problems updating from G++ 2.95 to G++ 3.0 - - G++ 3.0 conforms much closer to the ISO C++ standard (available at - [30]http://www.ncits.org/cplusplus.htm). - - We have also implemented some of the core and library defect reports - (available at - [31]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html & - [32]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html - respectively). - * The ABI has changed. This means that both class layout and name - mangling is different. You must recompile all c++ libraries (if - you don't you will get link errors). - * The standard library is much more conformant, and uses the std:: - namespace. - * std:: is now a real namespace, not an alias for ::. - * The standard header files for the c library don't end with .h, but - begin with c (i.e. <cstdlib> rather than <stdlib.h>). The .h names - are still available, but are deprecated. - * <strstream> is deprecated, use <sstream> instead. - * streambuf::seekoff & streambuf::seekpos are private, instead use - streambuf::pubseekoff & streambuf::pubseekpos respectively. - * If std::operator << (std::ostream &, long long) doesn't exist, you - need to recompile libstdc++ with --enable-long-long. - - This means you may get lots of errors about things like strcmp not - being found. You've most likely forgotten to tell the compiler to look - in the std:: namespace. There are several ways to do this, - * Say, std::strcmp at the call. This is the most explicit way of - saying what you mean. - * Say, using std::strcmp; somewhere before the call. You will need - to do this for each function or type you wish to use from the - standard library. - * Say, using namespace std; somewhere before the call. This is the - quick-but-dirty fix. This brings the whole of the std:: namespace - into scope. Never do this in a header file, as you will be forcing - users of your header file to do the same. - ABI bugs - 3.0 had a new ABI, which affected class layout, function mangling and - calling conventions. We had intended it to be complete, unfortunately - some issues came to light, too late to fix in the 3.0 series. The ABI - should not change in dot releases, so we addressed most issues in GCC - 3.1. + GCC 3.0 had a new ABI, which affected class layout, function mangling + and calling conventions. We had intended it to be complete, but + unfortunately some issues came to light, too late to fix in the 3.0 + series. The ABI should not change in dot releases, so we addressed + most issues in GCC 3.1. Covariant return types Up to (and including) GCC 3.3 we did not implement non-trivial covariant returns. This has been addressed for GCC 3.4. - Non-bugs - - This section lists several features that have been reported as bugs, - but are not; in addition, the manual contains a section on [33]Common - Misunderstandings with GNU C++. - - Nested classes can access private types of the containing class. - G++ now implements type access control on member types. Defect - report 45 clarifies that nested classes are members of the - class they are nested in, and so are granted access to private - members of that class. - - Classes in exception specifiers must be complete types. - [15.4]/1 tells you that you cannot have an incomplete type, or - pointer to incomplete (other than cv void *) in an exception - specification. - - G++ emits two copies of constructors and destructors. - In general there are three types of constructors (and - destructors). - - 1. The complete object constructor/destructor. - 2. The base object constructor/destructor. - 3. The allocating destructor/deallocating destructor. - - The first two are different, when virtual base classes are - involved. - - Exceptions don't work in multithreaded applications. - You need to rebuild g++ and libstdc++ with --enable-threads. - Remember, c++ exceptions are not like hardware interrupts. You - cannot throw an exception in one thread and catch it in - another. You cannot throw an exception from a signal handler, - and catch it in the main thread. - - Global destructors are not run in the correct order. - Global destructors should be run in the reverse order of their - constructors completing. In most cases this is the same as the - reverse order of constructors starting, but sometimes it is - different, and that is important. You need to compile and link - your programs with --use-cxa-atexit. We have not turned this - switch on by default, as it requires a cxa aware runtime - library (libc, glibc, or equivalent). - - Problems with floating point computations. - In a number of cases, GCC appears to perform floating point - computations incorrectly. For example, the program - - #include <iostream> - int main() { - double min = 0.0; - double max = 0.5; - double width = 0.01; - std::cout << (int)(((max - min) / width) - 1) << std::endl; - } - - might print 49 on some systems and optimization levels, and 48 - on others. - - The is the result of rounding: The computer cannot represent - all real numbers exactly, so it has to use approximations. When - computing with approximation, the computer needs to round to - the nearest representable number. - - This is not a bug in the compiler, but an inherent limitation - of the float and double types. Please study [34]this paper for - more information. - - Templates, scoping, and digraphs. - If you have a class in global namespace, say named X, and want - to give it as a template argument to some other class, say - std::vector, then this here fails with a parser error: - std::vector<::X>. - - The reason is that the standard mandates that the sequence <: - is treated as if it were the token [, and the parser then - reports a parse error before the character : (by which it means - the second colon). There are several such combinations of - characters, and they are called digraphs. - - The simplest way to avoid this is to write std::vector< ::X>, - i.e. place a space between the opening angle bracket and the - scope operator. - Missing features We know some things are missing from G++. @@ -556,6 +336,312 @@ A B::f1(bool b) also somewhat varies with the compiler version. The work-arounds proposed do not change the semantics of the program at all; they make them perhaps less readable. + _________________________________________________________________ + +Fortran + + Fortran bugs are documented in the G77 manual rather than explicitly + listed here. Please see [29]Known Causes of Trouble with GNU Fortran + in the G77 manual. + _________________________________________________________________ + + Non-bugs + + The following are not actually bugs, but are reported often enough to + warrant a mention here. + + It is not always a bug in the compiler, if code which "worked" in a + previous version, is now rejected. Earlier versions of GCC sometimes + were less picky about standard conformance and accepted invalid source + code. In addition, programming languages themselves change, rendering + code invalid that used to be conforming (this holds especially for + C++). In either case, you should update your code to match recent + language standards. + _________________________________________________________________ + +General + + Problems with floating point numbers - the [30]most often reported + non-bug. + In a number of cases, GCC appears to perform floating point + computations incorrectly. For example, the C++ program + +#include <iostream> + +int main() +{ + double a = 0.5; + double b = 0.01; + std::cout << (int)(a / b) << std::endl; + return 0; +} + + might print 50 on some systems and optimization levels, and 49 + on others. + + The is the result of rounding: The computer cannot represent + all real numbers exactly, so it has to use approximations. When + computing with approximation, the computer needs to round to + the nearest representable number. + + This is not a bug in the compiler, but an inherent limitation + of the floating point types. Please study [31]this paper for + more information. + _________________________________________________________________ + +C + + Casting does not work as expected when optimization is turned on. + This is often caused by a violation of aliasing rules, which + are part of the ISO C standard. These rules say that a program + is invalid if you try to access a variable through a pointer of + an incompatible type. This is happening in the following + example where a short is accessed through a pointer to integer + (the code assumes 16-bit shorts and 32-bit ints): + +#include <stdio.h> + +int main() +{ + short a[2]; + + a[0]=0x1111; + a[1]=0x1111; + + *(int *)a = 0x22222222; /* violation of aliasing rules */ + + printf("%x %x\n", a[0], a[1]); + return 0; +} + + The aliasing rules were designed to allow compilers more + aggressive optimization. Basically, a compiler can assume that + all changes to variables happen through pointers or references + to variables of a type compatible to the accessed variable. + Dereferencing a pointer that violates the aliasing rules + results in undefined behavior. + + In the case above, the compiler may assume that no access + through an integer pointer can change the array a, consisting + of shorts. Thus, printf may be called with the original values + of a[0] and a[1]. What really happens is up to the compiler and + may change with architecture and optimization level. + + Recent versions of GCC turn on the option -fstrict-aliasing + (which allows alias-based optimizations) by default with -O2. + And some architectures then really print "1111 1111" as result. + Without optimization the executable will generate the + "expected" output "2222 2222". + + To disable optimizations based on alias-analysis for faulty + legacy code, the option -fno-strict-aliasing can be used as a + work-around. + + The option -Wstrict-aliasing (which is included in -Wall) warns + about some - but not all - cases of violation of aliasing rules + when -fstrict-aliasing is active. + + To fix the code above, you can use a union instead of a cast + (note that this is a GCC extension which might not work with + other compilers): + +#include <stdio.h> + +int main() +{ + union + { + short a[2]; + int i; + } u; + + u.a[0]=0x1111; + u.a[1]=0x1111; + + u.i = 0x22222222; + + printf("%x %x\n", u.a[0], u.a[1]); + return 0; +} + + Now the result will always be "2222 2222". + + For some more insight into the subject, please have a look at + [32]this article. + + Cannot use preprocessor directive in macro arguments. + Let me guess... you used an older version of GCC to compile + code that looks something like this: + + memcpy(dest, src, +#ifdef PLATFORM1 + 12 +#else + 24 +#endif + ); + + and you got a whole pile of error messages: + +test.c:11: warning: preprocessing directive not recognized within macro arg +test.c:11: warning: preprocessing directive not recognized within macro arg +test.c:11: warning: preprocessing directive not recognized within macro arg +test.c: In function `foo': +test.c:6: undefined or invalid # directive +test.c:8: undefined or invalid # directive +test.c:9: parse error before `24' +test.c:10: undefined or invalid # directive + + This is because your C library's <string.h> happens to define + memcpy as a macro - which is perfectly legitimate. In recent + versions of glibc, for example, printf is among those functions + which are implemented as macros. + + Versions of GCC prior to 3.3 did not allow you to put #ifdef + (or any other preprocessor directive) inside the arguments of a + macro. The code therefore would not compile. + + As of GCC 3.3 this kind of construct is always accepted and the + preprocessor will probably do what you expect, but see the + manual for detailed semantics. + + However, this kind of code is not portable. It is "undefined + behavior" according to the C standard; that means different + compilers may do different things with it. It is always + possible to rewrite code which uses conditionals inside macros + so that it doesn't. You could write the above example + +#ifdef PLATFORM1 + memcpy(dest, src, 12); +#else + memcpy(dest, src, 24); +#endif + + This is a bit more typing, but I personally think it's better + style in addition to being more portable. + + Cannot initialize a static variable with stdin. + This has nothing to do with GCC, but people ask us about it a + lot. Code like this: + +#include <stdio.h> + +FILE *yyin = stdin; + + will not compile with GNU libc, because stdin is not a + constant. This was done deliberately, to make it easier to + maintain binary compatibility when the type FILE needs to be + changed. It is surprising for people used to traditional Unix C + libraries, but it is permitted by the C standard. + + This construct commonly occurs in code generated by old + versions of lex or yacc. We suggest you try regenerating the + parser with a current version of flex or bison, respectively. + In your own code, the appropriate fix is to move the + initialization to the beginning of main. + + There is a common misconception that the GCC developers are + responsible for GNU libc. These are in fact two entirely + separate projects; please check the [33]GNU libc web pages for + details. + _________________________________________________________________ + +C++ + + Nested classes can access private members and types of the containing + class. + Defect report 45 clarifies that nested classes are members of + the class they are nested in, and so are granted access to + private members of that class. + + G++ emits two copies of constructors and destructors. + In general there are three types of constructors (and + destructors). + + 1. The complete object constructor/destructor. + 2. The base object constructor/destructor. + 3. The allocating constructor/deallocating destructor. + + The first two are different, when virtual base classes are + involved. + + Global destructors are not run in the correct order. + Global destructors should be run in the reverse order of their + constructors completing. In most cases this is the same as the + reverse order of constructors starting, but sometimes it is + different, and that is important. You need to compile and link + your programs with --use-cxa-atexit. We have not turned this + switch on by default, as it requires a cxa aware runtime + library (libc, glibc, or equivalent). + + Classes in exception specifiers must be complete types. + [15.4]/1 tells you that you cannot have an incomplete type, or + pointer to incomplete (other than cv void *) in an exception + specification. + + Exceptions don't work in multithreaded applications. + You need to rebuild g++ and libstdc++ with --enable-threads. + Remember, C++ exceptions are not like hardware interrupts. You + cannot throw an exception in one thread and catch it in + another. You cannot throw an exception from a signal handler + and catch it in the main thread. + + Templates, scoping, and digraphs. + If you have a class in the global namespace, say named X, and + want to give it as a template argument to some other class, say + std::vector, then std::vector<::X> fails with a parser error. + + The reason is that the standard mandates that the sequence <: + is treated as if it were the token [. (There are several such + combinations of characters - they are called digraphs.) + Depending on the version, the compiler then reports a parse + error before the character : (the colon before X) or a missing + closing bracket ]. + + The simplest way to avoid this is to write std::vector< ::X>, + i.e. place a space between the opening angle bracket and the + scope operator. + + Common problems updating from G++ 2.95 to G++ 3.0 + + G++ 3.0 conforms much closer to the ISO C++ standard (available at + [34]http://www.ncits.org/cplusplus.htm). + + We have also implemented some of the core and library defect reports + (available at + [35]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html & + [36]http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html + respectively). + * The ABI has changed. This means that both class layout and name + mangling is different. You must recompile all c++ libraries (if + you don't you will get link errors). + * The standard library is much more conformant, and uses the std:: + namespace. + * std:: is now a real namespace, not an alias for ::. + * The standard header files for the c library don't end with .h, but + begin with c (i.e. <cstdlib> rather than <stdlib.h>). The .h names + are still available, but are deprecated. + * <strstream> is deprecated, use <sstream> instead. + * streambuf::seekoff & streambuf::seekpos are private, instead use + streambuf::pubseekoff & streambuf::pubseekpos respectively. + * If std::operator << (std::ostream &, long long) doesn't exist, you + need to recompile libstdc++ with --enable-long-long. + + This means you may get lots of errors about things like strcmp not + being found. You've most likely forgotten to tell the compiler to look + in the std:: namespace. There are several ways to do this, + * Say, std::strcmp at the call. This is the most explicit way of + saying what you mean. + * Say, using std::strcmp; somewhere before the call. You will need + to do this for each function or type you wish to use from the + standard library. + * Say, using namespace std; somewhere before the call. This is the + quick-but-dirty fix. This brings the whole of the std:: namespace + into scope. Never do this in a header file, as you will be forcing + users of your header file to do the same. + + In addition to the problems listed above, the manual contains a + section on [37]Common Misunderstandings with GNU C++. References @@ -568,28 +654,31 @@ References 7. http://gcc.gnu.org/bugs.html#gnat 8. http://gcc.gnu.org/bugs.html#pch 9. http://gcc.gnu.org/bugs.html#known - 10. http://gcc.gnu.org/bugs.html#general - 11. http://gcc.gnu.org/bugs.html#fortran - 12. http://gcc.gnu.org/bugs.html#c - 13. http://gcc.gnu.org/bugs.html#cplusplus - 14. http://gcc.gnu.org/bugs.html#updating + 10. http://gcc.gnu.org/bugs.html#cxx + 11. http://gcc.gnu.org/bugs.html#cxx-abi + 12. http://gcc.gnu.org/bugs.html#missing + 13. http://gcc.gnu.org/bugs.html#parsing + 14. http://gcc.gnu.org/bugs.html#fortran 15. http://gcc.gnu.org/bugs.html#nonbugs - 16. http://gcc.gnu.org/bugs.html#missing - 17. http://gcc.gnu.org/bugs.html#parsing - 18. http://gcc.gnu.org/bugs.html#known - 19. http://gcc.gnu.org/bugzilla/ - 20. mailto:gcc-bugs@gcc.gnu.org - 21. http://gcc.gnu.org/bugs.html#gnat - 22. http://gcc.gnu.org/bugs.html#pch - 23. http://gcc.gnu.org/bugs.html#detailed - 24. http://gcc.gnu.org/bugs.html#where + 16. http://gcc.gnu.org/bugs.html#nonbugs_general + 17. http://gcc.gnu.org/bugs.html#nonbugs_c + 18. http://gcc.gnu.org/bugs.html#nonbugs_cxx + 19. http://gcc.gnu.org/bugs.html#updating + 20. http://gcc.gnu.org/bugs.html#known + 21. http://gcc.gnu.org/bugzilla/ + 22. mailto:gcc-bugs@gcc.gnu.org + 23. http://gcc.gnu.org/bugs.html#gnat + 24. http://gcc.gnu.org/bugs.html#pch 25. http://gcc.gnu.org/bugs.html#detailed - 26. http://gcc.gnu.org/bugs.html#detailed - 27. http://gcc.gnu.org/onlinedocs/g77/Trouble.html - 28. http://www.gnu.org/software/glibc/ - 29. http://gcc.gnu.org/bugs.html#report - 30. http://www.ncits.org/cplusplus.htm - 31. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html - 32. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html - 33. http://gcc.gnu.org/onlinedocs/gcc/C---Misunderstandings.html - 34. http://www.validlab.com/goldberg/paper.ps + 26. http://gcc.gnu.org/bugs.html#where + 27. http://gcc.gnu.org/bugs.html#detailed + 28. http://gcc.gnu.org/bugs.html#detailed + 29. http://gcc.gnu.org/onlinedocs/g77/Trouble.html + 30. http://gcc.gnu.org/PR323 + 31. http://www.validlab.com/goldberg/paper.ps + 32. http://mail-index.NetBSD.org/tech-kern/2003/08/11/0001.html + 33. http://www.gnu.org/software/glibc/ + 34. http://www.ncits.org/cplusplus.htm + 35. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_defects.html + 36. http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/lwg-defects.html + 37. http://gcc.gnu.org/onlinedocs/gcc/C---Misunderstandings.html diff --git a/gnu/dist/gcc/ChangeLog b/gnu/dist/gcc/ChangeLog index 8d9e1e90b2a..bcba2b746f8 100644 --- a/gnu/dist/gcc/ChangeLog +++ b/gnu/dist/gcc/ChangeLog @@ -1,3 +1,27 @@ +2003-10-16 Release Manager + + * GCC 3.3.2 Released. + +2003-09-09 Alan Modra <amodra@bigpond.net.au> + + * libtool.m4 (LD): Correct powerpc64 host match. + +2003-08-30 Gerald Pfeifer <gerald@pfeifer.com> + + * MAINTAINERS: Update my e-mail address. + +2003-08-20 Bernardo Innocenti <bernie@develer.com> + + * MAINTAINERS (Write After Approval): Add myself. + +2003-08-15 Andrew Pinski <pinskia@physics.uc.edu> + + * MAINTAINERS (Write After Approval): Add myself. + +2003-08-08 Kean Johnston <jkj@sco.com> + + * configure.in (sco3.2v5*): Enable building of libgcj + 2003-08-04 Release Manager * GCC 3.3.1 Released. diff --git a/gnu/dist/gcc/configure.in b/gnu/dist/gcc/configure.in index 859ad9e41f8..32dfbe80ab2 100644 --- a/gnu/dist/gcc/configure.in +++ b/gnu/dist/gcc/configure.in @@ -473,7 +473,7 @@ case "${target}" in i[3456]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. - noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs ld target-libgloss" ;; i[3456]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" diff --git a/gnu/dist/gcc/gcc/ChangeLog b/gnu/dist/gcc/gcc/ChangeLog index 2c7e8debedf..e1f3dab970a 100644 --- a/gnu/dist/gcc/gcc/ChangeLog +++ b/gnu/dist/gcc/gcc/ChangeLog @@ -1,3 +1,310 @@ +2003-10-16 Release Manager + + * GCC 3.3.2 Released. + +2003-10-14 Jason Merrill <jason@redhat.com> + + PR c/11885 + * stor-layout.c (update_alignment_for_field): Packed non-bit-fields + get byte alignment. + +2003-10-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * fixinc/inclhack.def (alpha_pthread_gcc): New fix. + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New + testcase. + Fixes PR bootstrap/9330. + +2003-10-14 Steven Bosscher <steven@gcc.gnu.org> + + PR target/11087 + Backport from gcc-3_3-rhl-branch and mainline. + + 2003-07-17 Jakub Jelinek <jakub@redhat.com> + + * loop.c (basic_induction_var): Check if convert_modes + emitted any instructions. Remove them and return 0 if so. + +2003-10-13 Matt Kraai <kraai@alumni.cmu.edu> + + PR target/11949 + Backport from mainline: + + 2003-05-05 Aldy Hernandez <aldyh@redhat.com> + + * testsuite/gcc.c-torture/compile/simd-6.c: New. + * c-typeck.c (digest_init): Handle arrays of vector constants. + +2003-10-11 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/12544 + * function.c (put_var_into_stack): Don't generate ADDRESSOFs + for DECL_NONLOCAL decls. + +2003-10-09 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/12510 + Backport from mainline: + + 2003-09-08 Jakub Jelinek <jakub@redhat.com> + + * toplev.c (rest_of_compilation): Call split_all_insns before + regstack if optimizing but not scheduling after reload. + +2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * fixinc/inclhack.def (stdio_va_list): Removed _ap fix. + (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21 + introduced some multi-line prototypes. + * fixinc/fixincl.x: Regenerate. + Fixes PR libf2c/12263. + +2003-10-08 Timo Kokkonen <tjko@iki.fi> + Eric Botcazou <ebotcazou@libertysurf.fr> + + PR bootstrap/12490 + * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant + to define the size of the extern_C_braces array. Set it to 200. + (scan_decls): Abort when extern_C_braces_length is out-of-bounds. + +2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/12215 + * cse.c (cse_set_around_loop): Emit the move at the beginning + of the next basic block for trapping sets. + +2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/11637 + * combine.c (adjust_for_new_dest): New function to adjust the + notes and LOG_LINKS when the dest of an insn has changed. + (try_combine): Use it when deleting the first insn of a two-insn + parallel or splitting a two-load parallel. + +2003-10-04 Stephane Carrez <stcarrez@nerim.fr> + + * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is + identical to m68hc12 as far as libraries are concerned. + +2003-10-04 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR c/12446 + * c-typeck.c (convert_for_assignment): Issue an error for + array to pointer assignment after default conversion. + (digest_init): Likewise. + +2003-10-03 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/extend.texi (Function Attributes): Fix title of GNU C + Preprocessor manual. + (C++ Extensions): Fix reference to "Predefined Macros" in the + GNU C Preprocessor manual. + +2003-10-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> + + PR/11883 + * cfgloop.c (flow_loops_find): Fix handling of abnormal edges. + +2003-10-02 Mark Mitchell <mark@codesourcery.com> + + PR optimization/12180 + * c-objc-common.c (inline_forbidden_p): Do not permit inlining of + functions containing calls to __builtin_next_arg. + +2003-10-02 Josef Zlomek <zlomekj@suse.cz> + + PR/12292 + * combine.c (make_field_assignment): Check whether rtx's code + is CONST_INT before using INTVAL. + +2003-10-02 Josef Zlomek <zlomekj@suse.cz> + + Waldek Hebisch <hebisch@math.uni.wroc.pl> + PR/12072 + * varasm.c (compare_constant): Fix thinko. + +2003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist. + * configure: Rebuilt. + +2003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * aclocal.m4: Add ultrix* to /dev/zero blacklist. + * configure: Rebuilt. + +2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like + Solaris 7-9. + + * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by + wildcards which explicitly match micro versions. + * fixinc/fixincl.x: Regenerate. + +2003-10-01 Richard Henderson <rth@redhat.com> + + * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor + DWARF_ALT_FRAME_RETURN_COLUMN. + * unwind-dw2.c (dwarf_reg_size_table): Expand by one. + (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column. + (uw_frame_state_for): Return end-of-stack for null return address. + + * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return. + (alpha_expand_prologue): Store a zero for it. + (alpha_expand_epilogue): Don't reload it. + * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New. + * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64 + for the sigframe return address. + +2003-10-01 Nick Clifton <nickc@redhat.com> + + * Import this patch from mainline: + + 2003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * collect2.c (pexecute_pid): Rename to pid. + (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use + pid. + +2003-09-23 David S. Miller <davem@redhat.com> + + * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine + before redefining. + * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise. + +2003-10-01 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/11753 + * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to + the length in the non-V9 case. + +2003-09-27 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/12340 + * loop.h (struct induction): Document the new semantics + of the 'same' field for bivs. + * unroll.c (biv_total_increment): Don't count the same + biv increment several times. + (loop_iterations) [GENERAL_INDUCT]: Likewise. + +2003-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR bootstrap/12358 + * pa.c (output_bvb): Fix typo. + +2003-09-24 Alexandre Oliva <aoliva@redhat.com> + + * cpplib.c (do_pragma): Reintroduce cb_line_change call in the + code path that calls a handler. + +2003-09-23 Geoffrey Keating <geoffk@apple.com> + + * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies. + + * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't + pass zero-size arrays by reference. + (rs6000_va_arg): Likewise. + +2003-09-22 Joel Sherrill <joel@oarcorp.com> + + * combine.c, config/mips/t-elf, config/c4x/rtems.h: Revert patches + which should not have been committed with other RTEMS changes. + +2003-09-22 Olivier Hainque <hainque@act-europe.fr> + + PR target/9786 + * reg-stack.c (convert_regs_1): Purge possible dead eh edges + after potential deletion of trapping insn. Avoids later ICE + from call to fixup_abnormal_edges. + (convert_regs_2): Stack the current block successors before + processing this block, that is, before the potential deletion of + dead edges by convert_regs_1, because these edges have been used + to initialize the predecessors count. + +2003-09-21 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR target/12301 + * reorg.c (stop_search_p): Return 1 for insns that can + throw internally. + +2003-09-19 Joel Sherrill <joel@oarcorp.com> + + * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to + 68881. + +2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de> + + * config/m68k/t-rtems (m68k-*-rtems*): New. + * config.gcc: Use config/m68k/t-rtems. + +2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de> + + * config/mips/t-rtems: New. + * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems. + +2003-09-19 T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> + Eric Botcazou <ebotcazou@libertysurf.fr> + + PR target/12166 + * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1. + +2003-09-18 Mark Mitchell <mark@codesourcery.com> + + PR target/11184 + * builtins.c (expand_builtin_apply): Use convert_memory_address + before returning the value. + +2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * configure.in (gcc_cv_as_hidden): Only disable if no GNU ld + detected. + * configure: Regenerate. + Fixes PR target/12248. + +2003-09-17 Richard Henderson <rth@redhat.com> + + * config/alpha/alpha.c (alpha_expand_mov): Do gen_movdi_er_maybe_g + always during initial code generation. + * config/alpha/alpha.md (movdi_er_maybe_g): Don't conditionalize + on flag_inline_functions. + +2003-09-17 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR optimization/11646 + * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the + EDGE_ABNORMAL flag for EH edges. + * toplev.c (rest_of_compilation): Delete unreachable blocks + if dead edges were purged after the first CSE pass. + +2003-09-16 Jakub Jelinek <jakub@redhat.com> + + * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define. + +2003-09-15 Alexandre Oliva <aoliva@redhat.com> + + * cpplib.c (do_pragma): Remove unnecessary cb_line_change. + +2003-09-14 Alexandre Oliva <aoliva@redhat.com> + + * cppmain.c (cb_line_change): Revert 2003-08-04's change. + * c-lex.c (cb_line_change): Skip line changing whenever + cppmain.c would. + +2003-09-11 Alexandre Oliva <aoliva@redhat.com> + + PR fortran/11522 + * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function + for ultimate origin even if block is abstract. + 2003-09-10 Martin Husemann <martin@duskware.de> PR target/11965 @@ -8,6 +315,339 @@ (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against constants greater than 63. +2003-09-09 Richard Henderson <rth@redhat.com> + + PR target/12224: + * config/ia64/ia64.c (ia64_expand_move): Properly truncate + result when op0 is SImode. + +2003-09-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if + assembler supports Sun syntax for cmov. + * configure: Regenerate. + * config.in: Li{ewise. + * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to + HAVE_AS_IX86_CMOV_SUN_SYNTAX. + * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove. + Fixes PR target/12101. + +2003-09-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * configure.in (gcc_cv_as_hidden): Disable unless using GNU ld. + * configure: Regenerate. + +2003-09-08 Mark Mitchell <mark@codesourcery.com> + + * mklibgcc.in (libcc.a): Depend on stmp-dirs. + (libgov.a): Likewise. + (libgcc_eh.a): Likewise. + +2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr> + + PR target/11689 + * config/i386/i386.c (memory_address_length): Fix computation when + the base is esp or ebp. + +2003-09-07 Mark Mitchell <mark@codesourcery.com> + + PR c++/11852 + * varasm.c (initializer_constant_valid_p): Correct logic for + CONSTRUCTORs. + +Sun Sep 7 14:53:36 CEST 2003 Jan Hubicka <jh@suse.cz> + + * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch. + +2003-09-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de> + + PR optimization/11662 + Backport from mainline: + + 2003-07-10 Denis Chertykov <denisc@overta.ru> + Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * combine.c (gen_binary): Handle the CLOBBER rtx and + don't build a binary operation with it. + +Sat Sep 6 23:16:35 CEST 2003 Jan Hubicka <jh@suse.cz> + + * cfgcleanup.c (try_simplify_condjump): Fix my previous patch. + + PR target/12070 + * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments. + + PR opt/12082 + * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning. + +2003-09-06 Steven Bosscher <steven@gcc.gnu.org> + + PR c/9862 + * c-decl.c (c_expand_body): Move return warning from here... + (finish_function): ...to here. + +2003-09-05 Jan Hubicka <jh@suse.cz> + + PR target/8869 + * expr.c (convert_modes): Deal properly with integer to vector + constant conversion. + +2003-09-05 Andrew Pinski <pinskia@physics.uc.edu> + + PR c/10962 + * c-decl.c (field_decl_cmp): Add back function. + (finish_struct): Sort fields if number greater than 15 + and no anymous structs/unions. + +2003-09-04 Jakub Jelinek <jakub@redhat.com> + + * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2. + * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function. + * unwind.h (_Unwind_GetBSP): New prototype. + * libgcc-std.ver: Add empty GCC_3.3.2 version. + * mkmap-symver.awk: For symbol versions with no exported symbols, + don't put anything into version script, just change all symbol + versions which inherit from it to inherit from its ancestor. + +2003-09-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + This is a fix for PR 10988: + * m32r.c (m32r_print_operand): Correct comment. + (m32r_expand_block_move): Correct the handling of leftover/small + blocks. + (m32r_block_small_immediate_operand): New predicate. + * m32r.md (movstrsi_small_internal): New pattern. + * m32r.h (PREDICATE_CODES): Add m32r_block_small_immediate_operand. + * m32r-protos.h: Add prototype for m32r_block_small_immediate_operand. + +2003-08-25 Richard Henderson <rth@redhat.com> + + * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true + for 16-byte vector modes if sse not enabled; warn for abi change. + (ix86_value_regno): Only return xmm0 for 16-byte vector types. + +2003-08-25 Zack Weinberg <zack@codesourcery.com> + + * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove + commented-out logic to use DCE threads (if present), add + support for POSIX threads. + * config/ia64/hpux.h: Define CPP_SPEC to set appropriate + #defines for -pthread. Add -lpthread to LIB_SPEC when + -pthread. In both cases take -mt as a synonym for -pthread + for acc compatibility. + Define GTHREAD_USE_WEAK to 0. + * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC. + Remove old logic for DCE threads from LIB_SPEC. + * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0. + +2003-08-25 Ulrich Weigand <uweigand@de.ibm.com> + + * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN. + +2003-08-23 Jakub Jelinek <jakub@redhat.com> + + * c-decl.c (pushdecl): Only put decls which finish_struct will do + something about onto incomplete chain. + (finish_struct): If not removing type from incomplete + list, update prev. + +2003-08-23 Alexandre Oliva <aoliva@redhat.com> + + * cppmain.c (cb_line_change): Don't skip line changing while + parsing macro arguments in the top-level context. + +2003-08-22 Mark Mitchell <mark@codesourcery.com> + + * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0. + + * config/ia64/ia64.c (ia64_output_mi_thunk): Support ILP32 mode. + +2003-08-21 Kazu Hirata <kazu@cs.umass.edu> + + PR target/11805 + * config/h8300/h8300.md (two anonymous patterns): Remove. + +2003-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * stmt.c (expand_asm_operands): Avoid string concatenation. + * tree.c (default_flag_random_seed): Avoid ISO C definition. + * varasm.c (output_constant_def): Delete unused variable. + +2003-08-18 Matt Kraai <kraai@alumni.cmu.edu> + + PR c/11207 + * c-typeck.c (set_init_index): Check for negative index. + +2003-08-14 Mark Mitchell <mark@codesourcery.com> + + * version.c (version_string): Use "prerelease" not "experimental". + +2003-08-11 James E Wilson <wilson@tuliptree.org> + + PR optimization/11319 + PR target/10021 + * alias.c (find_base_value, case REG): Return 0 not src if no base + found. + +2003-08-11 Kean Johnston <jkj@sco.com> + + * fixinc/inclhack.def (sco_math): Updated test text and select trigger + according to bkorb's review. + * fixinc/inclhack.def (sco_regset): Ditto. + * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Remove all mach + lines so that this file is unconditionally replaced. + * fixinc/inclhack.def (sco_string): Use ansi/string.h as the first file + to check so that the Ultrix string.h check doesnt overwrite the test + case with its replacement text. + * fixinc/fixincl.x: Regenerated + * fixinc/tests/base/math.h: Updated sco_math result text + * fixinc/tests/base/ansi/string.h: New file. + * fixinc/tests/base/sys/regset.h: Compacted result text to fewer lines. + +2003-08-11 Dale Johannesen <dalej@apple.com> + * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable handling of + decrement-and-branch farther away than 32 bits. + +2003-08-10 Zack Weinberg <zack@codesourcery.com> + + Backport the following changes from mainline: + + 2003-05-08 David Mosberger <davidm@hpl.hp.com> + + * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New. + + 2003-04-03 Richard Henderson <rth@redhat.com> + + * unwind-libunwind.c (_Unwind_GetCFA): New. + + 2003-03-27 David Mosberger <davidm@hpl.hp.com> + + * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind + v0.9 API change: replace read of UNW_REG_HANDLER with + unw_get_proc_info(). + (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA + with unw_get_proc_info(). + (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with + unw_get_proc_info(). + + 2003-03-13 Nathanael Nerode <neroden@gcc.gnu.org> + + * unwind-libunwind.c: Replace "GNU CC" with "GCC". + + 2002-10-02 David Mosberger-Tang <David.Mosberger@acm.org> + + * config/t-libunwind: Mention unwind-sjlj.c. + * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__ + to #ifndef __USING_SJLJ_EXCEPTIONS__. + + * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions + before inclusion of config.gcc, but after configuring the compiler etc. + Determine default value for --enable-libunwind-exceptions based on + whether the host has a libunwind library (not guaranteed to be correct, + but it's a reasonable first guess and can always be overridden with an + explicit --enable/disable-libunwind-exceptions. + * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a + tmake_file when $use_libunwind_exceptions is enabled. + * Makefile.in: Update comment: LIB2ADDEH is updated not just by + ia64 (e.g., config/t-linux also updates it). + * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind + along with the shared version of libgcc since the latter requires + the former. + + * unwind-libunwind.c: New file. + * config/t-libunwind: Ditto. + +2003-08-10 Richard Henderson <rth@redhat.com> + + PR target/11693 + * config/ia64/ia64.c (ia64_emit_nops): Skip L slots when + padding before inline assembly. + +2003-08-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR c++/11712 + * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define + __STDC_EXT__ when using C++ dialect. + +2003-08-08 Kean Johnston <jkj@sco.com> + + PR target/9877 + PR target/8336 + * config.gcc (sco3.2v5*): Use elfos.h and dbxelf.h in tm_file; + Eliminate need for t-sco5gas target fragment. + No longer build crt{begin,end}S.o, that were used for COFF support. + * tlink.c (recompile_files): Add missing = in putenv() calls. + * unwind-dw2.c (_Unwind_GetCFA): Correct return cast. + * config/i386/sco5.h: Major overhaul to remove all COFF support + * config/i386/t-sco5: Multilib for PIC support + * config/i386/t-sco5gas: Remove + * config/i386/i386.c: Check value as well as presence of + SUPPORTS_ONE_ONLY + * doc/install.texi: Update for modern SCO instructions + * fixinc/check.tpl: Allow user to specify diff program for make check + * fixinc/inclhack.def: Fix several SCO header files, namely string.h, + math.h, sys/byteorder.h and sys/regset.h. + * fixinc/fixincl.x: Regenerate + * fixinc/tests/base/math.h: Update + * fixinc/tests/base/sys/byteorder.h: Update + * fixinc/tests/base/string.h: Added + * fixinc/tests/base/sys/regset.h: Added + * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported) + +2003-08-08 Roger Sayle <roger@eyesopen.com> + + PR c/11370 + * calls.c (emit_call_1): Don't bother popping the arguments off of + the stack after a noreturn function call; The adjustment is dead. + (expand_call): Likewise. + +2003-08-08 SUGIOKA Toshinobu <sugioka@itonet.co.jp> + + * config.gcc: Do not override sh/t-linux with sh/t-le. + +2003-08-08 Kaz Kojima <kkojima@gcc.gnu.org> + + * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath. + (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee + when -mieee-fp set and -shared not set. + +2003-08-08 Richard Henderson <rth@redhat.com> + + PR target/11535 + * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove + RETURN_ADDRESS_POINTER_REGNUM. + (ia64_expand_prologue): Don't frob it. + (ia64_output_function_epilogue): Likewise. + (ia64_return_addr_rtx): New. + (ia64_split_return_addr_rtx): New. + * config/ia64/ia64-protos.h: Update. + * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement. + (RETURN_ADDRESS_POINTER_REGNUM): Remove. + (GENERAL_REGNO_P): Don't check it. + (AR_*_REGNUM): Renumber. + (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM. + (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise. + (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise. + (ELIMINABLE_REGS, REGISTER_NAMES): Likewise. + (RETURN_ADDR_RTX): Use ia64_return_addr_rtx. + * config/ia64/ia64.md (UNSPEC_RET_ADDR): New. + (movdi_ret_addr): New. + +2003-08-03 Geoffrey Keating <geoffk@apple.com> + + PR 11709 + * varasm.c (output_constant_def_contents): Use + ASM_DECLARE_CONSTANT_NAME if defined. + * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME. + * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized + objects get at least one byte to prevent assembler problems. + (ASM_DECLARE_CONSTANT_NAME): New. + +2003-08-07 Mark Mitchell <mark@codesourcery.com> + + * version.c (version_string): Reset to prerelease. + * doc/include/gcc-common.texi: Update version. + 2003-08-04 Release Manager * GCC 3.3.1 Released. @@ -18,23 +658,23 @@ 2003-08-03 Neil Booth <neil@daikokuya.co.uk> - PR preprocessor/11534 - * cppexp.c (parse_defined): Warn only if -pedantic. + PR preprocessor/11534 + * cppexp.c (parse_defined): Warn only if -pedantic. 2003-08-03 Mark Mitchell <mark@codesourcery.com> * Makefile.in (ORDINARY_FLAGS_TO_PASS): Pass AR. - + * Makefile.in (STAGE2_FLAGS_TO_PASS): Pass AR_FOR_TARGET and RANLIB_FOR_TARGET. (stage1_build): Likewise. 2003-08-03 Jan Hubicka <jh@suse.cz> - PR 10510 - * config/pa/pa.h (MAYBE_FP_REG_CLASS_P): New. - (SECONDARY_MEMORY_NEEDED): Use it. - + PR 10510 + * config/pa/pa.h (MAYBE_FP_REG_CLASS_P): New. + (SECONDARY_MEMORY_NEEDED): Use it. + 2003-08-01 Geoffrey Keating <geoffk@apple.com> PR 11709 (partial fix) @@ -50,18 +690,18 @@ PR target/10681 2003-06-27 J"orn Rennecke <joern.rennecke@superh.com> - * flow.c (propagate_one_insn): Use proper test for a register - being part of the return value. + * flow.c (propagate_one_insn): Use proper test for a register + being part of the return value. 2003-06-26 Richard Henderson <rth@redhat.com> - * flow.c (propagate_one_insn): Preserve live-at-end registers - across tail calls. + * flow.c (propagate_one_insn): Preserve live-at-end registers + across tail calls. 2003-06-26 Richard Henderson <rth@redhat.com> - * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls. - (ia64_split_call): Only load descriptor for GP register inputs. - (ia64_expand_epilogue): Check current_frame_info.mask not - current_function_is_leaf to restore ar.pfs. + * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls. + (ia64_split_call): Only load descriptor for GP register inputs. + (ia64_expand_epilogue): Check current_frame_info.mask not + current_function_is_leaf to restore ar.pfs. 2003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> @@ -72,15 +712,15 @@ Backport the folling patch. 2003-04-01 Aldy Hernandez <aldyh@redhat.com> - - PR/8878 - * expr.c (expand_expr): Handle VECTOR_CST. - (const_vector_from_tree): New. - - * varasm.c (output_constant): Handle VECTOR_CST. - - * c-typeck.c (digest_init): Build a vector constant from a - VECTOR_TYPE. + + PR/8878 + * expr.c (expand_expr): Handle VECTOR_CST. + (const_vector_from_tree): New. + + * varasm.c (output_constant): Handle VECTOR_CST. + + * c-typeck.c (digest_init): Build a vector constant from a + VECTOR_TYPE. 2003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> @@ -91,11 +731,11 @@ PR optimization/10679 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS. - + 2003-07-22 Bob Wilson <bob.wilson@acm.org> - + * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define. - + 2003-07-23 Dave Fluri <dave.fluri@onlink.net> * doc/extend.texi: Fixes to spelling, grammar, and diction. @@ -107,15 +747,11 @@ 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr> - PR optimization/11536 + PR optimization/11536 * unroll.c (loop_iterations): Do not replace a register holding the final value by its equivalent before the loop if it is not invariant. -2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr> - - * gcc.c-torture/execute/loop-16.c: New test. - 2003-07-21 Ben Elliston <bje@wasabisystems.com> * doc/invoke.texi (V850 Options): Spelling fixes. @@ -162,7 +798,7 @@ if the predicate doesn't satisfy. (gen_cond_trap): Allow prepare_operand to fail. Pass correct opnum argument to prepare_operand. - + 2003-07-18 Eric Botcazou <ebotcazou@libertysurf.fr> PR optimization/11083 @@ -178,7 +814,7 @@ 2003-07-17 Nathanael Nerode <neroden@gcc.gnu.org> PR bootstrap/11043 - * config/arc/t-arc: Replace bogus references to "x-crtinit.o", + * config/arc/t-arc: Replace bogus references to "x-crtinit.o", "x-crtfini.o" with "crtinit.o", "crtfini.o". 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr> @@ -193,7 +829,7 @@ * doc/invoke.texi (SPARC Options): Document "-mimpure-text". 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr> - Phil Edwards <phil@jaj.com> + Phil Edwards <phil@jaj.com> * doc/install.texi (*-*-solaris2*): Document the step-by-step procedure to bootstrap and install. @@ -203,9 +839,9 @@ 2003-07-16 Richard Henderson <rth@redhat.com> PR target/10907 - * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end - even with !TARGET_CONST_GP. - (ia64_function_ok_for_sibcall): Reject non-local functions. + * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end + even with !TARGET_CONST_GP. + (ia64_function_ok_for_sibcall): Reject non-local functions. 2003-07-15 Geoffrey Keating <geoffk@apple.com> @@ -307,7 +943,7 @@ * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if the old decl had instantiated DECL_RTL. - 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net> + 2003-05-21 Danny Smith <dannysmitx@users.sourceforge.net> PR c++/9738 * config/i386/winnt.c (i386_pe_encode_section_info): Enable @@ -339,7 +975,7 @@ * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before loop_insn_emit_before. (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise. - + 2003-07-10 Dara Hazeghi <dhazeghi@yahoo.com> PR bootstrap/10758 @@ -395,8 +1031,8 @@ 2003-07-07 Dale Johannesen <dalej@apple.com> - PR 10900 - * config/rs6000/darwin-tramp.asm: Fix trampolines. + PR 10900 + * config/rs6000/darwin-tramp.asm: Fix trampolines. 2003-07-07 Andrew Pinski <pinskia@physics.uc.edu> @@ -410,7 +1046,7 @@ (-falign-jumps): Likewise. 2003-07-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - Eric Botcazou <ebotcazou@libertysurf.fr> + Eric Botcazou <ebotcazou@libertysurf.fr> PR optimization/11198 * alias.c (objects_must_conflict_p): Return 1 if the types have @@ -1577,7 +2213,7 @@ Sun Apr 20 18:23:18 CEST 2003 Richard Henderson <rth@redhat.com> 2003-04-21 Mark Mitchell <mark@codesourcery.com> - * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL + * config/i386/winnt.c (i386_pe_}ark_dllimport): Make the new RTL have the same form as the old RTL. 2003-04-18 Mark Mitchell <mark@codesourcery.com> @@ -4182,7 +4818,7 @@ Mon Apr 7 15:56:30 CEST 2003 Jan Hubicka <jh@suse.cz> * df.c (df_uses_record): Handle CC0. 2003-01-25 Jan Hubicka <jh@suse.cz> - Eric Botcazou <ebotcazou@libertysurf.fr> + Eric Botcazou <ebotcazou@libertysurf.fr> PR opt/8492 * gcse.c (one_cprop_pass): Delete unreachable blocks. @@ -4455,7 +5091,7 @@ Mon Apr 7 15:56:30 CEST 2003 Jan Hubicka <jh@suse.cz> 2003-01-16 Stephane Carrez <stcarrez@nerim.fr> - * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to + * config/m68hs11/m68hc11.c (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC11. (expand_epilogue): Likewise. (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers. @@ -17006,3 +17642,4 @@ cp: * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses. See ChangeLog.7 for earlier changes. + diff --git a/gnu/dist/gcc/gcc/Makefile.in b/gnu/dist/gcc/gcc/Makefile.in index 95fb4941d96..4c8245f2b14 100644 --- a/gnu/dist/gcc/gcc/Makefile.in +++ b/gnu/dist/gcc/gcc/Makefile.in @@ -401,7 +401,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \ -finhibit-size-directive -fno-inline-functions -fno-exceptions \ -fno-zero-initialized-in-bss -# Additional sources to handle exceptions; overridden on ia64. +# Additional sources to handle exceptions; overridden by targets as needed. LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h diff --git a/gnu/dist/gcc/gcc/config.gcc b/gnu/dist/gcc/gcc/config.gcc index 4f63242bd79..83175427194 100644 --- a/gnu/dist/gcc/gcc/config.gcc +++ b/gnu/dist/gcc/gcc/config.gcc @@ -967,13 +967,11 @@ hppa*64*-*-hpux11*) then target_cpu_default="${target_cpu_default}|MASK_GNU_LD" fi -# if [ x$enable_threads = x ]; then -# enable_threads=$have_pthread_h -# fi -# if [ x$enable_threads = xyes ]; then -# thread_file='dce' -# tmake_file="${tmake_file} pa/t-dce-thr" -# fi + case x${enable_threads} in + xyes | xposix ) + thread_file=posix + ;; + esac install_headers_dir=install-headers-cpio ;; hppa1.1-*-hpux11* | hppa2*-*-hpux11*) @@ -982,13 +980,11 @@ hppa1.1-*-hpux11* | hppa2*-*-hpux11*) xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" -# if test x$enable_threads = x; then -# enable_threads=$have_pthread_h -# fi -# if test x$enable_threads = xyes; then -# thread_file='dce' -# tmake_file="${tmake_file} pa/t-dce-thr" -# fi + case x${enable_threads} in + xyes | xposix ) + thread_file=posix + ;; + esac install_headers_dir=install-headers-cpio use_collect2=yes ;; @@ -997,13 +993,11 @@ hppa1.0-*-hpux11*) xm_defines=POSIX tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib" xmake_file="pa/x-ada" -# if test x$enable_threads = x; then -# enable_threads=$have_pthread_h -# fi -# if test x$enable_threads = xyes; then -# thread_file='dce' -# tmake_file="${tmake_file} pa/t-dce-thr" -# fi + case x${enable_threads} in + xyes | xposix ) + thread_file=posix + ;; + esac install_headers_dir=install-headers-cpio use_collect2=yes ;; @@ -1250,15 +1244,13 @@ i[34567]86-*-rtems*) i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 xm_defines=POSIX install_headers_dir=install-headers-cpio - tm_file="${tm_file} i386/unix.h i386/att.h i386/sco5.h" + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h" if test x$gas = xyes then tm_file="usegas.h ${tm_file}" - tmake_file=i386/t-sco5gas - else - tmake_file=i386/t-sco5 fi - extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o" + tmake_file=i386/t-sco5 + extra_parts="crtbegin.o crtend.o" ;; i[34567]86-*-solaris2*) xm_defines="POSIX SMALL_ARG_MAX" @@ -1492,14 +1484,19 @@ ia64*-*-linux*) tmake_file="t-slibgcc-elf-ver t-linux ia64/t-ia64 ia64/t-glibc" target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" + if test x"$use_libunwind_exceptions" = xyes; then + tmake_file="$tmake_file t-libunwind" + fi ;; ia64*-*-hpux*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h ia64/hpux_longdouble.h" tmake_file="ia64/t-ia64 ia64/t-hpux" target_cpu_default="MASK_GNU_AS" - if test x$enable_threads = xyes; then - thread_file='posix' - fi + case x$enable_threads in + xyes | xposix ) + thread_file=posix + ;; + esac use_collect2=no c_target_objs="ia64-c.o" cxx_target_objs="ia64-c.o" @@ -1757,7 +1754,7 @@ m68k-*-rtemscoff*) # would otherwise be caught by m68k-*-rtems* ;; m68k-*-rtems*) xm_defines=POSIX - tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff" + tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems" tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h" extra_parts="crtbegin.o crtend.o" if test x$enable_threads = xyes; then @@ -1974,7 +1971,7 @@ mips64orion-*-rtems*) mips*-*-rtems*) xm_defines=POSIX tm_file="${tm_file} mips/elf.h mips/rtems.h rtems.h" - tmake_file="mips/t-elf t-rtems" + tmake_file="mips/t-elf t-rtems mips/t-rtems" if test x$enable_threads = xyes; then thread_file='rtems' fi @@ -2314,7 +2311,7 @@ sh-*-rtems*) fi ;; sh-*-linux* | sh[2346lbe]*-*-linux*) - tmake_file="sh/t-sh sh/t-elf sh/t-linux" + tmake_file="sh/t-sh sh/t-elf" case $machine in sh*be-*-* | sh*eb-*-*) ;; *) @@ -2322,6 +2319,7 @@ sh-*-linux* | sh[2346lbe]*-*-linux*) tmake_file="${tmake_file} sh/t-le" ;; esac + tmake_file="${tmake_file} sh/t-linux" tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h" gas=yes gnu_ld=yes case $machine in @@ -2531,7 +2529,7 @@ sparc-*-solaris2*) tm_file="${tm_file} sparc/sol26-sld.h" fi ;; - *-*-solaris2.[789]) + *-*-solaris2.[789] | *-*-solaris2.1[0-9]) tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h" if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld-bi.h" diff --git a/gnu/dist/gcc/gcc/config/i386/t-sco5gas b/gnu/dist/gcc/gcc/config/i386/t-sco5gas deleted file mode 100644 index edeb554eea0..00000000000 --- a/gnu/dist/gcc/gcc/config/i386/t-sco5gas +++ /dev/null @@ -1,23 +0,0 @@ -# The pushl in CTOR initialization interferes with frame pointer elimination. -CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer -CRTSTUFF_T_CFLAGS_S = -fno-omit-frame-pointer - -# -# I am still a little unsure of the multilib architecture. The following -# 4 lines are based on advice from meissner@cygnus.com. -# -MULTILIB_OPTIONS = fPIC -MULTILIB_DIRNAMES = pic -MULTILIB_EXCEPTIONS = *fPIC* -MULTILIB_MATCHES = fPIC=fpic -MULTILIB_EXTRA_OPTS = - -LIBGCC=stmp-multilib -INSTALL_LIBGCC=install-multilib - -crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) - sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s - $(GCC_FOR_TARGET) -c -o crti.o crti.s - -# See all the declarations. -FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2 diff --git a/gnu/dist/gcc/gcc/config/sparc/sparc.md b/gnu/dist/gcc/gcc/config/sparc/sparc.md index 94971e73c49..b53013ec397 100644 --- a/gnu/dist/gcc/gcc/config/sparc/sparc.md +++ b/gnu/dist/gcc/gcc/config/sparc/sparc.md @@ -148,8 +148,12 @@ (eq_attr "branch_type" "fcc") (if_then_else (match_operand 0 "fcc0_reg_operand" "") (if_then_else (eq_attr "empty_delay_slot" "true") - (const_int 2) - (const_int 1)) + (if_then_else (eq (symbol_ref "TARGET_V9") (const_int 0)) + (const_int 3) + (const_int 2)) + (if_then_else (eq (symbol_ref "TARGET_V9") (const_int 0)) + (const_int 2) + (const_int 1))) (if_then_else (lt (pc) (match_dup 2)) (if_then_else (lt (minus (match_dup 2) (pc)) (const_int 260000)) (if_then_else (eq_attr "empty_delay_slot" "true") @@ -7024,7 +7028,7 @@ } }) -(define_insn "" +(define_insn "*ashrdi3_sp64" [(set (match_operand:DI 0 "register_operand" "=r") (ashiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] @@ -7114,7 +7118,7 @@ } }) -(define_insn "" +(define_insn "*lshrdi3_sp64" [(set (match_operand:DI 0 "register_operand" "=r") (lshiftrt:DI (match_operand:DI 1 "register_operand" "r") (match_operand:SI 2 "arith_operand" "rI")))] diff --git a/gnu/dist/gcc/gcc/configure b/gnu/dist/gcc/gcc/configure index 219e30a1c18..40418faeab1 100644 --- a/gnu/dist/gcc/gcc/configure +++ b/gnu/dist/gcc/gcc/configure @@ -66,6 +66,11 @@ ac_help="$ac_help ac_help="$ac_help --enable-initfini-array use .init_array/.fini_array sections" ac_help="$ac_help + --enable-sjlj-exceptions + arrange to use setjmp/longjmp exception handling" +ac_help="$ac_help + --enable-libunwind-exceptions force use libunwind for exceptions" +ac_help="$ac_help --enable-nls use Native Language Support (default)" ac_help="$ac_help --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib" @@ -91,11 +96,6 @@ ac_help="$ac_help enable make rules and dependencies not useful (and sometimes confusing) to the casual installer" ac_help="$ac_help - --enable-sjlj-exceptions - arrange to use setjmp/longjmp exception handling" -ac_help="$ac_help - --enable-libunwind-exceptions force use libunwind for exceptions" -ac_help="$ac_help --enable-version-specific-runtime-libs specify that runtime libraries should be installed in a compiler-specific directory" @@ -3928,7 +3928,7 @@ else # Systems known to be in this category are Windows (all variants), # VMS, and Darwin. case "$host_os" in - vms* | cygwin* | pe | mingw* | darwin*) + vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) gcc_cv_func_mmap_dev_zero=no ;; *) gcc_cv_func_mmap_dev_zero=yes;; @@ -4856,6 +4856,71 @@ objext='.o' +# With Setjmp/Longjmp based exception handling. +# Check whether --enable-sjlj-exceptions or --disable-sjlj-exceptions was given. +if test "${enable_sjlj_exceptions+set}" = set; then + enableval="$enable_sjlj_exceptions" + sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` +cat >> confdefs.h <<EOF +#define CONFIG_SJLJ_EXCEPTIONS $sjlj +EOF + +fi + + +echo $ac_n "checking for main in -lunwind""... $ac_c" 1>&6 +echo "configure:4873: checking for main in -lunwind" >&5 +ac_lib_var=`echo unwind'_'main | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lunwind $LIBS" +cat > conftest.$ac_ext <<EOF +#line 4881 "configure" +#include "confdefs.h" + +int main() { +main() +; return 0; } +EOF +if { (eval echo configure:4888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + use_libunwind_default=yes +else + echo "$ac_t""no" 1>&6 +use_libunwind_default=no +fi + +# Use libunwind based exception handling. +# Check whether --enable-libunwind-exceptions or --disable-libunwind-exceptions was given. +if test "${enable_libunwind_exceptions+set}" = set; then + enableval="$enable_libunwind_exceptions" + use_libunwind_exceptions=$enableval +else + use_libunwind_exceptions=$use_libunwind_default +fi + +if test x"$use_libunwind_exceptions" = xyes; then + cat >> confdefs.h <<\EOF +#define USE_LIBUNWIND_EXCEPTIONS 1 +EOF + +fi + target_gtfiles= build_xm_file= build_xm_defines= @@ -5097,14 +5162,14 @@ fi echo $ac_n "checking for library containing strerror""... $ac_c" 1>&6 -echo "configure:5101: checking for library containing strerror" >&5 +echo "configure:5166: checking for library containing strerror" >&5 if eval "test \"`echo '$''{'ac_cv_search_strerror'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_strerror="no" cat > conftest.$ac_ext <<EOF -#line 5108 "configure" +#line 5173 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5115,7 +5180,7 @@ int main() { strerror() ; return 0; } EOF -if { (eval echo configure:5119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="none required" else @@ -5126,7 +5191,7 @@ rm -f conftest* test "$ac_cv_search_strerror" = "no" && for i in cposix; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 5130 "configure" +#line 5195 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5137,7 +5202,7 @@ int main() { strerror() ; return 0; } EOF -if { (eval echo configure:5141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_strerror="-l$i" break @@ -5160,12 +5225,12 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:5164: checking for working const" >&5 +echo "configure:5229: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5169 "configure" +#line 5234 "configure" #include "confdefs.h" int main() { @@ -5214,7 +5279,7 @@ ccp = (char const *const *) p; ; return 0; } EOF -if { (eval echo configure:5218: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -5235,12 +5300,12 @@ EOF fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:5239: checking for off_t" >&5 +echo "configure:5304: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5244 "configure" +#line 5309 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -5268,12 +5333,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:5272: checking for size_t" >&5 +echo "configure:5337: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5277 "configure" +#line 5342 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -5303,19 +5368,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:5307: checking for working alloca.h" >&5 +echo "configure:5372: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5312 "configure" +#line 5377 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:5319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -5336,12 +5401,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:5340: checking for alloca" >&5 +echo "configure:5405: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5345 "configure" +#line 5410 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -5369,7 +5434,7 @@ int main() { char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:5373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -5401,12 +5466,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:5405: checking whether alloca needs Cray hooks" >&5 +echo "configure:5470: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5410 "configure" +#line 5475 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -5431,12 +5496,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5435: checking for $ac_func" >&5 +echo "configure:5500: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5440 "configure" +#line 5505 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5459,7 +5524,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5486,7 +5551,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:5490: checking stack direction for C alloca" >&5 +echo "configure:5555: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5494,7 +5559,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <<EOF -#line 5498 "configure" +#line 5563 "configure" #include "confdefs.h" find_stack_direction () { @@ -5513,7 +5578,7 @@ main () exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:5517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -5536,12 +5601,12 @@ fi echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 -echo "configure:5540: checking whether we are using the GNU C Library 2.1 or newer" >&5 +echo "configure:5605: checking whether we are using the GNU C Library 2.1 or newer" >&5 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5545 "configure" +#line 5610 "configure" #include "confdefs.h" #include <features.h> @@ -5577,17 +5642,17 @@ stdlib.h string.h unistd.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5581: checking for $ac_hdr" >&5 +echo "configure:5646: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5586 "configure" +#line 5651 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5591: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5656: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5618,12 +5683,12 @@ getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ strdup strtoul tsearch __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5622: checking for $ac_func" >&5 +echo "configure:5687: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5627 "configure" +#line 5692 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -5646,7 +5711,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:5650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5687,7 +5752,7 @@ fi echo $ac_n "checking for iconv""... $ac_c" 1>&6 -echo "configure:5691: checking for iconv" >&5 +echo "configure:5756: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5695,7 +5760,7 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext <<EOF -#line 5699 "configure" +#line 5764 "configure" #include "confdefs.h" #include <stdlib.h> #include <iconv.h> @@ -5705,7 +5770,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:5709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else @@ -5717,7 +5782,7 @@ rm -f conftest* am_save_LIBS="$LIBS" LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" cat > conftest.$ac_ext <<EOF -#line 5721 "configure" +#line 5786 "configure" #include "confdefs.h" #include <stdlib.h> #include <iconv.h> @@ -5727,7 +5792,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:5731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes @@ -5748,13 +5813,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6 EOF echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 -echo "configure:5752: checking for iconv declaration" >&5 +echo "configure:5817: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5758 "configure" +#line 5823 "configure" #include "confdefs.h" #include <stdlib.h> @@ -5773,7 +5838,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:5777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else @@ -5802,19 +5867,19 @@ EOF echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 -echo "configure:5806: checking for nl_langinfo and CODESET" >&5 +echo "configure:5871: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5811 "configure" +#line 5876 "configure" #include "confdefs.h" #include <langinfo.h> int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF -if { (eval echo configure:5818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_langinfo_codeset=yes else @@ -5837,19 +5902,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:5841: checking for LC_MESSAGES" >&5 +echo "configure:5906: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5846 "configure" +#line 5911 "configure" #include "confdefs.h" #include <locale.h> int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:5853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -5870,7 +5935,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:5874: checking whether NLS is requested" >&5 +echo "configure:5939: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -5893,7 +5958,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:5897: checking whether included gettext is requested" >&5 +echo "configure:5962: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -5913,17 +5978,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:5917: checking for libintl.h" >&5 +echo "configure:5982: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5922 "configure" +#line 5987 "configure" #include "confdefs.h" #include <libintl.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5992: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5944,12 +6009,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then EOF echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 -echo "configure:5948: checking for GNU gettext in libc" >&5 +echo "configure:6013: checking for GNU gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5953 "configure" +#line 6018 "configure" #include "confdefs.h" #include <libintl.h> extern int _nl_msg_cat_cntr; @@ -5958,7 +6023,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:5962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libc=yes else @@ -5974,14 +6039,14 @@ echo "$ac_t""$gt_cv_func_gnugettext1_libc" 1>&6 if test "$gt_cv_func_gnugettext1_libc" != "yes"; then echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 -echo "configure:5978: checking for GNU gettext in libintl" >&5 +echo "configure:6043: checking for GNU gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -lintl $LIBICONV" cat > conftest.$ac_ext <<EOF -#line 5985 "configure" +#line 6050 "configure" #include "confdefs.h" #include <libintl.h> extern int _nl_msg_cat_cntr; @@ -5990,7 +6055,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr ; return 0; } EOF -if { (eval echo configure:5994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libintl=yes else @@ -6023,12 +6088,12 @@ EOF for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6027: checking for $ac_func" >&5 +echo "configure:6092: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6032 "configure" +#line 6097 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6051,7 +6116,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6080,7 +6145,7 @@ done # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6084: checking for $ac_word" >&5 +echo "configure:6149: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6114,7 +6179,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6118: checking for $ac_word" >&5 +echo "configure:6183: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6151,7 +6216,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6155: checking for $ac_word" >&5 +echo "configure:6220: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6201,7 +6266,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6205: checking for $ac_word" >&5 +echo "configure:6270: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6235,7 +6300,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6239: checking for $ac_word" >&5 +echo "configure:6304: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6271,7 +6336,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6275: checking for $ac_word" >&5 +echo "configure:6340: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6343,7 +6408,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:6347: checking for $ac_word" >&5 +echo "configure:6412: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6376,7 +6441,7 @@ done ac_verc_fail=yes else echo $ac_n "checking version of bison""... $ac_c" 1>&6 -echo "configure:6380: checking version of bison" >&5 +echo "configure:6445: checking version of bison" >&5 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -6421,7 +6486,7 @@ EOF if test "x$CATOBJEXT" != x; then echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:6425: checking for catalogs to be installed" >&5 +echo "configure:6490: checking for catalogs to be installed" >&5 # Look for .po and .gmo files in the source directory. CATALOGS= XLINGUAS= @@ -6479,7 +6544,7 @@ fi case $host_os in win32 | pe | cygwin* | mingw32* | uwin*) echo $ac_n "checking whether windows registry support is requested""... $ac_c" 1>&6 -echo "configure:6483: checking whether windows registry support is requested" >&5 +echo "configure:6548: checking whether windows registry support is requested" >&5 if test "x$enable_win32_registry" != xno; then cat >> confdefs.h <<\EOF #define ENABLE_WIN32_REGISTRY 1 @@ -6488,14 +6553,14 @@ EOF echo "$ac_t""yes" 1>&6 echo $ac_n "checking for library containing RegOpenKeyExA""... $ac_c" 1>&6 -echo "configure:6492: checking for library containing RegOpenKeyExA" >&5 +echo "configure:6557: checking for library containing RegOpenKeyExA" >&5 if eval "test \"`echo '$''{'ac_cv_search_RegOpenKeyExA'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_func_search_save_LIBS="$LIBS" ac_cv_search_RegOpenKeyExA="no" cat > conftest.$ac_ext <<EOF -#line 6499 "configure" +#line 6564 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6506,7 +6571,7 @@ int main() { RegOpenKeyExA() ; return 0; } EOF -if { (eval echo configure:6510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="none required" else @@ -6517,7 +6582,7 @@ rm -f conftest* test "$ac_cv_search_RegOpenKeyExA" = "no" && for i in advapi32; do LIBS="-l$i $ac_func_search_save_LIBS" cat > conftest.$ac_ext <<EOF -#line 6521 "configure" +#line 6586 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6528,7 +6593,7 @@ int main() { RegOpenKeyExA() ; return 0; } EOF -if { (eval echo configure:6532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_search_RegOpenKeyExA="-l$i" break @@ -6570,7 +6635,7 @@ esac if test "x$enable_win32_registry" != xno; then echo $ac_n "checking registry key on windows hosts""... $ac_c" 1>&6 -echo "configure:6574: checking registry key on windows hosts" >&5 +echo "configure:6639: checking registry key on windows hosts" >&5 cat >> confdefs.h <<EOF #define WIN32_REGISTRY_KEY "$gcc_cv_win32_registry_key" EOF @@ -6784,7 +6849,7 @@ fi # Figure out what assembler we will be using. echo $ac_n "checking what assembler to use""... $ac_c" 1>&6 -echo "configure:6788: checking what assembler to use" >&5 +echo "configure:6853: checking what assembler to use" >&5 gcc_cv_as= gcc_cv_gas_major_version= gcc_cv_gas_minor_version= @@ -6878,7 +6943,7 @@ fi # Figure out what linker we will be using. echo $ac_n "checking what linker to use""... $ac_c" 1>&6 -echo "configure:6882: checking what linker to use" >&5 +echo "configure:6947: checking what linker to use" >&5 gcc_cv_ld= gcc_cv_gld_major_version= gcc_cv_gld_minor_version= @@ -6971,7 +7036,7 @@ fi # Figure out what nm we will be using. echo $ac_n "checking what nm to use""... $ac_c" 1>&6 -echo "configure:6975: checking what nm to use" >&5 +echo "configure:7040: checking what nm to use" >&5 if test -x nm$host_exeext; then gcc_cv_nm=./nm$host_exeext elif test "x$program_prefix" != xNONE; then @@ -6983,7 +7048,7 @@ echo "$ac_t""$gcc_cv_nm" 1>&6 # Figure out what objdump we will be using. echo $ac_n "checking what objdump to use""... $ac_c" 1>&6 -echo "configure:6987: checking what objdump to use" >&5 +echo "configure:7052: checking what objdump to use" >&5 if test -x objdump$host_exeext; then gcc_cv_objdump=./objdump$host_exeext elif test "x$program_prefix" != xNONE; then @@ -6995,7 +7060,7 @@ echo "$ac_t""$gcc_cv_objdump" 1>&6 # Figure out what assembler alignment features are present. echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6 -echo "configure:6999: checking assembler alignment features" >&5 +echo "configure:7064: checking assembler alignment features" >&5 gcc_cv_as_alignment_features=none if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then # Gas version 2.6 and later support for .balign and .p2align. @@ -7043,7 +7108,7 @@ fi echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6 echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6 -echo "configure:7047: checking assembler subsection support" >&5 +echo "configure:7112: checking assembler subsection support" >&5 gcc_cv_as_subsections=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then @@ -7083,7 +7148,7 @@ fi echo "$ac_t""$gcc_cv_as_subsections" 1>&6 echo $ac_n "checking assembler weak support""... $ac_c" 1>&6 -echo "configure:7087: checking assembler weak support" >&5 +echo "configure:7152: checking assembler weak support" >&5 gcc_cv_as_weak=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then @@ -7106,7 +7171,7 @@ fi echo "$ac_t""$gcc_cv_as_weak" 1>&6 echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6 -echo "configure:7110: checking assembler hidden support" >&5 +echo "configure:7175: checking assembler hidden support" >&5 gcc_cv_as_hidden=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 \ @@ -7162,6 +7227,9 @@ elif test x$gcc_cv_as != x; then fi fi fi + else + # non-GNU linkers don't seem to support .hidden yet + gcc_cv_as_hidden=no fi fi if test x"$gcc_cv_as_hidden" = xyes; then @@ -7172,23 +7240,10 @@ EOF fi echo "$ac_t""$gcc_cv_as_hidden" 1>&6 libgcc_visibility=$gcc_cv_as_hidden -case "$target" in - mips-sgi-irix6*) - if test x"$gnu_ld_flag" = x"no"; then - # Even if using gas with .hidden support, the resulting object files - # cannot be linked with the IRIX 6 O32 linker. With the N32 and - # N64 linkers, the problem is that the linker refuses to accept - # -call_shared (passed by default to the linker) and -r (used to - # link the object file generated without .hidden directives with - # one that hides symbols), so we also lose. - libgcc_visibility=no - fi - ;; -esac echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6 -echo "configure:7186: checking assembler leb128 support" >&5 +echo "configure:7241: checking assembler leb128 support" >&5 gcc_cv_as_leb128=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 11 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then @@ -7233,7 +7288,7 @@ fi echo "$ac_t""$gcc_cv_as_leb128" 1>&6 echo $ac_n "checking assembler eh_frame optimization""... $ac_c" 1>&6 -echo "configure:7231: checking assembler eh_frame optimization" >&5 +echo "configure:7286: checking assembler eh_frame optimization" >&5 gcc_cv_as_eh_frame=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then @@ -7314,7 +7369,7 @@ fi echo "$ac_t""$gcc_cv_as_eh_frame" 1>&6 echo $ac_n "checking assembler section merging support""... $ac_c" 1>&6 -echo "configure:7312: checking assembler section merging support" >&5 +echo "configure:7367: checking assembler section merging support" >&5 gcc_cv_as_shf_merge=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then @@ -7337,7 +7392,7 @@ fi echo "$ac_t""$gcc_cv_as_shf_merge" 1>&6 echo $ac_n "checking assembler thread-local storage support""... $ac_c" 1>&6 -echo "configure:7335: checking assembler thread-local storage support" >&5 +echo "configure:7390: checking assembler thread-local storage support" >&5 gcc_cv_as_tls=no conftest_s= tls_first_major= @@ -7480,7 +7535,7 @@ case "$target" in # All TARGET_ABI_OSF targets. alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*) echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6 -echo "configure:7478: checking assembler supports explicit relocations" >&5 +echo "configure:7533: checking assembler supports explicit relocations" >&5 if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7530,7 +7585,7 @@ EOF ;; sparc*-*-*) echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6 -echo "configure:7528: checking assembler .register pseudo-op support" >&5 +echo "configure:7583: checking assembler .register pseudo-op support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7558,7 +7613,7 @@ EOF fi echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6 -echo "configure:7556: checking assembler supports -relax" >&5 +echo "configure:7611: checking assembler supports -relax" >&5 if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7586,7 +7641,7 @@ EOF fi echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6 -echo "configure:7584: checking assembler and linker support unaligned pc related relocs" >&5 +echo "configure:7639: checking assembler and linker support unaligned pc related relocs" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7613,7 +7668,7 @@ EOF fi echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6 -echo "configure:7611: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 +echo "configure:7666: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7653,7 +7708,7 @@ EOF fi echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6 -echo "configure:7651: checking for assembler offsetable %lo() support" >&5 +echo "configure:7706: checking for assembler offsetable %lo() support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7692,7 +7747,7 @@ EOF i[34567]86-*-* | x86_64-*-*) echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 -echo "configure:7690: checking assembler instructions" >&5 +echo "configure:7745: checking assembler instructions" >&5 gcc_cv_as_instructions= if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then @@ -7718,8 +7773,26 @@ EOF fi echo "$ac_t""$gcc_cv_as_instructions" 1>&6 + echo $ac_n "checking cmov syntax""... $ac_c" 1>&6 +echo "configure:7772: checking cmov syntax" >&5 + gcc_cv_as_ix86_cmov_sun_syntax=no + if test x$gcc_cv_as != x; then + echo 'cmovl.l %edx, %eax' > conftest.s + if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_ix86_cmov_sun_syntax=yes + fi + rm -f conftest.s conftest.o + fi + if test "x$gcc_cv_as_ix86_cmov_sun_syntax" = xyes; then + cat >> confdefs.h <<\EOF +#define HAVE_AS_IX86_CMOV_SUN_SYNTAX 1 +EOF + + fi + echo "$ac_t""$gcc_cv_as_ix86_cmov_sun_syntax" 1>&6 + echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6 -echo "configure:7717: checking assembler GOTOFF in data directives" >&5 +echo "configure:7790: checking assembler GOTOFF in data directives" >&5 gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x then @@ -7749,7 +7822,7 @@ EOF ia64*-*-*) echo $ac_n "checking assembler supports ltoffx and ldxmov""... $ac_c" 1>&6 -echo "configure:7747: checking assembler supports ltoffx and ldxmov" >&5 +echo "configure:7820: checking assembler supports ltoffx and ldxmov" >&5 if eval "test \"`echo '$''{'gcc_cv_as_ltoffx_ldxmov_relocs'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7791,7 +7864,7 @@ EOF esac echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6 -echo "configure:7789: checking assembler dwarf2 debug_line support" >&5 +echo "configure:7862: checking assembler dwarf2 debug_line support" >&5 gcc_cv_as_dwarf2_debug_line=no # ??? Not all targets support dwarf2 debug_line, even within a version # of gas. Moreover, we need to emit a valid instruction to trigger any @@ -7848,7 +7921,7 @@ fi echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6 -echo "configure:7846: checking assembler --gdwarf2 support" >&5 +echo "configure:7919: checking assembler --gdwarf2 support" >&5 gcc_cv_as_gdwarf2_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then @@ -7877,7 +7950,7 @@ fi echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6 -echo "configure:7875: checking assembler --gstabs support" >&5 +echo "configure:7948: checking assembler --gstabs support" >&5 gcc_cv_as_gstabs_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then @@ -7912,7 +7985,7 @@ fi echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6 echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6 -echo "configure:7910: checking linker read-only and read-write section mixing" >&5 +echo "configure:7983: checking linker read-only and read-write section mixing" >&5 gcc_cv_ld_ro_rw_mix=unknown if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then @@ -7950,7 +8023,7 @@ fi echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6 -echo "configure:7948: checking linker PT_GNU_EH_FRAME support" >&5 +echo "configure:8021: checking linker PT_GNU_EH_FRAME support" >&5 gcc_cv_ld_eh_frame_hdr=no if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then @@ -7974,7 +8047,7 @@ echo "$ac_t""$gcc_cv_ld_eh_frame_hdr" 1>&6 case "$target" in mips*-*-*) echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6 -echo "configure:7972: checking whether libgloss uses STARTUP directives consistently" >&5 +echo "configure:8045: checking whether libgloss uses STARTUP directives consistently" >&5 gcc_cv_mips_libgloss_startup=no gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss if test "x$exec_prefix" = xNONE; then @@ -8178,7 +8251,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:8176: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:8249: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -8196,34 +8269,6 @@ else MAINT='#' fi -# With Setjmp/Longjmp based exception handling. -# Check whether --enable-sjlj-exceptions or --disable-sjlj-exceptions was given. -if test "${enable_sjlj_exceptions+set}" = set; then - enableval="$enable_sjlj_exceptions" - sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` -cat >> confdefs.h <<EOF -#define CONFIG_SJLJ_EXCEPTIONS $sjlj -EOF - -fi - - -# Use libunwind based exception handling. -# Check whether --enable-libunwind-exceptions or --disable-libunwind-exceptions was given. -if test "${enable_libunwind_exceptions+set}" = set; then - enableval="$enable_libunwind_exceptions" - use_libunwind_exceptions=$enableval -else - use_libunwind_exceptions=no -fi - -if test x"$use_libunwind_exceptions" = xyes; then - cat >> confdefs.h <<\EOF -#define USE_LIBUNWIND_EXCEPTIONS 1 -EOF - -fi - # Make empty files to contain the specs and options for each language. # Then add #include lines to for a compiler that has specs and/or options. diff --git a/gnu/dist/gcc/gcc/configure.in b/gnu/dist/gcc/gcc/configure.in index 2dbf77b64e4..dda8dbd32b5 100644 --- a/gnu/dist/gcc/gcc/configure.in +++ b/gnu/dist/gcc/gcc/configure.in @@ -797,6 +797,25 @@ objext='.o' AC_SUBST(manext) AC_SUBST(objext) +# With Setjmp/Longjmp based exception handling. +AC_ARG_ENABLE(sjlj-exceptions, +[ --enable-sjlj-exceptions + arrange to use setjmp/longjmp exception handling], +[sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` +AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj, + [Define 0/1 to force the choice for exception handling model.])]) + +AC_CHECK_LIB(unwind, main, use_libunwind_default=yes, use_libunwind_default=no) +# Use libunwind based exception handling. +AC_ARG_ENABLE(libunwind-exceptions, +[ --enable-libunwind-exceptions force use libunwind for exceptions], +use_libunwind_exceptions=$enableval, +use_libunwind_exceptions=$use_libunwind_default) +if test x"$use_libunwind_exceptions" = xyes; then + AC_DEFINE(USE_LIBUNWIND_EXCEPTIONS, 1, + [Define if gcc should use -lunwind.]) +fi + target_gtfiles= build_xm_file= build_xm_defines= @@ -1647,6 +1666,9 @@ changequote(,)dnl fi fi changequote([,])dnl + else + # non-GNU linkers don't seem to support .hidden yet + gcc_cv_as_hidden=no fi fi if test x"$gcc_cv_as_hidden" = xyes; then @@ -1655,19 +1677,6 @@ if test x"$gcc_cv_as_hidden" = xyes; then fi AC_MSG_RESULT($gcc_cv_as_hidden) libgcc_visibility=$gcc_cv_as_hidden -case "$target" in - mips-sgi-irix6*) - if test x"$gnu_ld_flag" = x"no"; then - # Even if using gas with .hidden support, the resulting object files - # cannot be linked with the IRIX 6 O32 linker. With the N32 and - # N64 linkers, the problem is that the linker refuses to accept - # -call_shared (passed by default to the linker) and -r (used to - # link the object file generated without .hidden directives with - # one that hides symbols), so we also lose. - libgcc_visibility=no - fi - ;; -esac AC_SUBST(libgcc_visibility) AC_MSG_CHECKING(assembler leb128 support) @@ -2137,6 +2146,21 @@ changequote([,])dnl fi AC_MSG_RESULT($gcc_cv_as_instructions) + AC_MSG_CHECKING(cmov syntax) + gcc_cv_as_ix86_cmov_sun_syntax=no + if test x$gcc_cv_as != x; then + echo 'cmovl.l %edx, %eax' > conftest.s + if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_ix86_cmov_sun_syntax=yes + fi + rm -f conftest.s conftest.o + fi + if test "x$gcc_cv_as_ix86_cmov_sun_syntax" = xyes; then + AC_DEFINE(HAVE_AS_IX86_CMOV_SUN_SYNTAX, 1, + [Define if your assembler supports the Sun syntax for cmov.]) + fi + AC_MSG_RESULT($gcc_cv_as_ix86_cmov_sun_syntax) + AC_MSG_CHECKING(assembler GOTOFF in data directives) gcc_cv_as_gotoff_in_data=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x @@ -2587,24 +2611,6 @@ else fi AC_SUBST(MAINT)dnl -# With Setjmp/Longjmp based exception handling. -AC_ARG_ENABLE(sjlj-exceptions, -[ --enable-sjlj-exceptions - arrange to use setjmp/longjmp exception handling], -[sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi` -AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj, - [Define 0/1 to force the choice for exception handling model.])]) - -# Use libunwind based exception handling. -AC_ARG_ENABLE(libunwind-exceptions, -[ --enable-libunwind-exceptions force use libunwind for exceptions], -use_libunwind_exceptions=$enableval, -use_libunwind_exceptions=no) -if test x"$use_libunwind_exceptions" = xyes; then - AC_DEFINE(USE_LIBUNWIND_EXCEPTIONS, 1, - [Define if gcc should use -lunwind.]) -fi - # Make empty files to contain the specs and options for each language. # Then add #include lines to for a compiler that has specs and/or options. diff --git a/gnu/dist/gcc/gcc/doc/cpp.1 b/gnu/dist/gcc/gcc/doc/cpp.1 index e68695d0b3b..faa8170d75d 100644 --- a/gnu/dist/gcc/gcc/doc/cpp.1 +++ b/gnu/dist/gcc/gcc/doc/cpp.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "CPP 1" -.TH CPP 1 "2003-08-04" "gcc-3.3.1" "GNU" +.TH CPP 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" cpp \- The C Preprocessor .SH "SYNOPSIS" diff --git a/gnu/dist/gcc/gcc/doc/gcc.1 b/gnu/dist/gcc/gcc/doc/gcc.1 index 92852d0cc47..0084e175046 100644 --- a/gnu/dist/gcc/gcc/doc/gcc.1 +++ b/gnu/dist/gcc/gcc/doc/gcc.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "GCC 1" -.TH GCC 1 "2003-08-04" "gcc-3.3.1" "GNU" +.TH GCC 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gcc \- GNU project C and C++ compiler .SH "SYNOPSIS" diff --git a/gnu/dist/gcc/gcc/doc/gcov.1 b/gnu/dist/gcc/gcc/doc/gcov.1 index 266f1a11cff..792405f54c0 100644 --- a/gnu/dist/gcc/gcc/doc/gcov.1 +++ b/gnu/dist/gcc/gcc/doc/gcov.1 @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "GCOV 1" -.TH GCOV 1 "2003-08-04" "gcc-3.3.1" "GNU" +.TH GCOV 1 "2003-10-16" "gcc-3.3.2" "GNU" .SH "NAME" gcov \- coverage testing tool .SH "SYNOPSIS" diff --git a/gnu/dist/gcc/gcc/gcc.c b/gnu/dist/gcc/gcc/gcc.c index f8e242e5f9c..3675f787f3c 100644 --- a/gnu/dist/gcc/gcc/gcc.c +++ b/gnu/dist/gcc/gcc/gcc.c @@ -1556,6 +1556,9 @@ init_spec () #else "-lgcc_s%M" #endif +#ifdef USE_LIBUNWIND_EXCEPTIONS + " -lunwind" +#endif , "-lgcc", "-lgcc_eh"); |
