Bug#186299: workaround for php3 compilation
The file pack.c compiles fine with -O0. Obviously the build process tries this, but the -O0 gets overwritten by -O1.
[3.2/3.3 regression] [powerpc] ICE: in extract_insn, at recog.c:2175
>Submitter-Id: net >Originator:Adam Conrad <[EMAIL PROTECTED]> >Organization: The Debian Project >Confidential: no >Synopsis: >Severity: serious >Priority: medium >Category: optimization >Class: ice-on-legal-code >Release: 3.2.1 (Debian) (Debian unstable) >Environment: System: Debian GNU/Linux (unstable) Architecture: powerpc >Description: [ Reported to the Debian BTS as report #186299. Please CC [EMAIL PROTECTED] on replies. Log of report can be found at http://bugs.debian.org/186299 ] Rechecked with 3.2 20030314 and 3.3 20030404. While building php3 on unstable/powerpc, gcc-3.2 ICEs on a file that gcc-2.95 handles fine. Attemps were made with gcc-2.95 (success), gcc-3.2 (fail), and gcc-snapshot (fail). Using -O0 or omitting -fPIC doesn't show the ICE. $ gcc -c -fPIC -O1 pack.i ../functions/pack.c: In function `php3_unpack': ../functions/pack.c:807: error: unrecognizable insn: (insn 1275 1022 3 0 (nil) (set (reg/v:DF 311) (const_double:DF 0.0 [0x0.0p+0])) -1 (nil) (nil)) ../functions/pack.c:807: internal compiler error: in extract_insn, at recog.c:2175 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. [appending the source in a followup] >How-To-Repeat: >Fix:
Bug#186299: optimization/10315: [3.2/3.3 regression] [powerpc] ICE: in extract_insn, at recog.c:2175
Thank you very much for your problem report. It has the internal identification `optimization/10315'. The individual assigned to look at your report is: unassigned. >Category: optimization >Responsible:unassigned >Synopsis: [3.2/3.3 regression] [powerpc] ICE: in extract_insn, at >recog.c:2175 >Arrival-Date: Sat Apr 05 13:56:00 UTC 2003
Processed: gcc: submitted Debian report #186299 to gcc-gnats as PR 10315
Processing commands for [EMAIL PROTECTED]: > # submitted Debian report #186299 to gcc-gnats as PR 10315 > # http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=10315&database=gcc > forwarded 186299 [EMAIL PROTECTED] Bug#186299: [powerpc] ICE: in extract_insn, at recog.c:2175 while building php3 Noted your statement that Bug has been forwarded to [EMAIL PROTECTED] > retitle 186299 [PR 10315] [powerpc] ICE: in extract_insn, at recog.c:2175 > building php3 Bug#186299: [powerpc] ICE: in extract_insn, at recog.c:2175 while building php3 Changed Bug title. > thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database)
Bug#164872: Partial patch for _GNU_SOURCE bug in g++-3.2
This is a partial patch for the _GNU_SOURCE bug in g++-3.2. It does not fix everything, but it will cause a simple "Hello, world" program to compile. I am working on fixing other headers. This patch is in the public domain. It comes "as is" with *absolutely no warranty*. fdc2f6871d40d5bbbc8656541a8425c0 *c++.patch -- Brian M. Carlson <[EMAIL PROTECTED]> 0x560553e7 "Let us think the unthinkable, let us do the undoable. Let us prepare to grapple with the ineffable itself, and see if we may not eff it after all." --Douglas Adams diff -cr /usr/include/c++/3.2/cstdio ./c++/3.2/cstdio *** /usr/include/c++/3.2/cstdio 2002-03-30 10:56:06.0 + --- ./c++/3.2/cstdio2003-04-05 15:17:11.0 + *** *** 142,148 using ::vsprintf; } ! #if _GLIBCPP_USE_C99 #undef snprintf #undef vfscanf --- 142,148 using ::vsprintf; } ! #if _GLIBCPP_USE_C99 || defined(__cplusplus) #undef snprintf #undef vfscanf diff -cr /usr/include/locale.h ./locale.h *** /usr/include/locale.h 2003-03-21 16:16:47.0 + --- ./locale.h 2003-04-05 15:38:55.0 + *** *** 130,136 __END_NAMESPACE_STD ! #ifdef__USE_GNU /* The concept of one static locale per category is not very well thought out. Many applications will need to process its data using information from several different locales. Another application is --- 130,136 __END_NAMESPACE_STD ! #if defined __USE_GNU || defined __cplusplus /* The concept of one static locale per category is not very well thought out. Many applications will need to process its data using information from several different locales. Another application is diff -cr /usr/include/stdio.h ./stdio.h *** /usr/include/stdio.h2003-03-21 16:17:33.0 + --- ./stdio.h 2003-04-05 15:17:01.0 + *** *** 357,363 __const char *__restrict __format, ...) __THROW; __END_NAMESPACE_STD ! #ifdef__USE_ISOC99 __BEGIN_NAMESPACE_C99 /* Read formatted input from S into argument list ARG. */ extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, --- 357,363 __const char *__restrict __format, ...) __THROW; __END_NAMESPACE_STD ! #if defined(__USE_ISOC99) || defined(__cplusplus) __BEGIN_NAMESPACE_C99 /* Read formatted input from S into argument list ARG. */ extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, diff -cr /usr/include/stdlib.h ./stdlib.h *** /usr/include/stdlib.h 2003-03-21 16:17:29.0 + --- ./stdlib.h 2003-04-05 15:45:12.0 + *** *** 109,115 #endif __END_NAMESPACE_STD ! #if defined __USE_ISOC99 && !defined __lldiv_t_defined __BEGIN_NAMESPACE_C99 /* Returned by `lldiv'. */ __extension__ typedef struct --- 109,115 #endif __END_NAMESPACE_STD ! #if (defined __USE_ISOC99 || defined __cplusplus) && !defined __lldiv_t_defined __BEGIN_NAMESPACE_C99 /* Returned by `lldiv'. */ __extension__ typedef struct *** *** 160,166 char **__restrict __endptr) __THROW; __END_NAMESPACE_STD ! #ifdef__USE_ISOC99 __BEGIN_NAMESPACE_C99 /* Likewise for `float' and `long double' sizes of floating-point numbers. */ extern float strtof (__const char *__restrict __nptr, --- 160,166 char **__restrict __endptr) __THROW; __END_NAMESPACE_STD ! #if defined __USE_ISOC99 || defined __cplusplus __BEGIN_NAMESPACE_C99 /* Likewise for `float' and `long double' sizes of floating-point numbers. */ extern float strtof (__const char *__restrict __nptr, *** *** 610,616 extern void exit (int __status) __THROW __attribute__ ((__noreturn__)); __END_NAMESPACE_STD ! #ifdef __USE_ISOC99 __BEGIN_NAMESPACE_C99 /* Terminate the program with STATUS without calling any of the functions registered with `atexit' or `on_exit'. */ --- 610,616 extern void exit (int __status) __THROW __attribute__ ((__noreturn__)); __END_NAMESPACE_STD ! #if defined __USE_ISOC99 || defined __cplusplus __BEGIN_NAMESPACE_C99 /* Terminate the program with STATUS without calling any of the functions registered with `atexit' or `on_exit'. */ diff -cr /usr/include/wchar.h ./wchar.h *** /usr/include/wchar.h2003-03-21 16:17:40.0 + --- ./wchar.h 2003-04-05 15:34:37.0 + *** *** 369,375 extern double wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; ! #ifdef __USE_ISOC99 /* Likewise for `float' and `long double' sizes of floating-point numbers. */ extern float wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; --- 369,375 extern double wcstod (__const wchar_t *__restrict __nptr,
Results for 3.3 20030314 (prerelease) testsuite on mips-unknown-linux-gnu
LAST_UPDATED: Fri Mar 14 19:22:27 UTC 2003 Native configuration is mips-unknown-linux-gnu === g++ tests === Running target unix FAIL: g++.dg/compat/break/bitfield7 y_tst.o compile UNRESOLVED: g++.dg/compat/break/bitfield7 x_tst.o-y_tst.o link UNRESOLVED: g++.dg/compat/break/bitfield7 x_tst.o-y_tst.o execute XPASS: g++.law/profile1.C (test for excess errors) XPASS: g++.law/profile1.C Execution test XPASS: g++.other/init5.C Execution test === g++ Summary === # of expected passes7869 # of unexpected failures1 # of unexpected successes 3 # of expected failures 98 # of unresolved testcases 2 # of untested testcases 23 # of unsupported tests 17 /build/buildd/gcc-snapshot-20030314/build/gcc/testsuite/../g++ version 3.3 20030314 (prerelease) === g77 tests === Running target unix === g77 Summary === # of expected passes1644 # of unsupported tests 8 /build/buildd/gcc-snapshot-20030314/build/gcc/testsuite/../g77 version 3.3 20030314 (prerelease) === gcc tests === Running target unix FAIL: gcc.c-torture/compile/20001226-1.c, -O0 FAIL: gcc.c-torture/compile/20001226-1.c, -O2 FAIL: gcc.c-torture/compile/20001226-1.c, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/compile/20001226-1.c, -O3 -g FAIL: gcc.c-torture/compile/20001226-1.c, -Os FAIL: gcc.c-torture/execute/20020412-1.c execution, -O0 FAIL: gcc.c-torture/execute/20020412-1.c execution, -O1 FAIL: gcc.c-torture/execute/20020412-1.c execution, -O2 FAIL: gcc.c-torture/execute/20020412-1.c execution, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/execute/20020412-1.c execution, -O3 -fomit-frame-pointer -funroll-loops FAIL: gcc.c-torture/execute/20020412-1.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions FAIL: gcc.c-torture/execute/20020412-1.c execution, -O3 -g FAIL: gcc.c-torture/execute/20020412-1.c execution, -Os FAIL: gcc.dg/c99-intconst-1.c (test for excess errors) FAIL: gcc.dg/duff-2.c (test for excess errors) FAIL: gcc.dg/format/c90-printf-1.c C90 bad use of %l (test for warnings, line 92) FAIL: gcc.dg/format/c90-printf-1.c C90 bad use of %l (test for warnings, line 93) FAIL: gcc.dg/format/c90-printf-1.c C90 bad use of %l (test for warnings, line 92) FAIL: gcc.dg/format/c90-printf-1.c C90 bad use of %l (test for warnings, line 93) FAIL: gcc.dg/format/c90-scanf-1.c bad use of %l (test for warnings, line 64) FAIL: gcc.dg/format/c90-scanf-1.c bad use of %l (test for warnings, line 65) FAIL: gcc.dg/format/c90-scanf-1.c bad use of %l (test for warnings, line 66) FAIL: gcc.dg/format/c90-scanf-1.c bad use of %l (test for warnings, line 64) FAIL: gcc.dg/format/c90-scanf-1.c bad use of %l (test for warnings, line 65) FAIL: gcc.dg/format/c90-scanf-1.c bad use of %l (test for warnings, line 66) FAIL: gcc.dg/format/c99-printf-1.c bogus %j warning (test for bogus messages, line 65) FAIL: gcc.dg/format/c99-printf-1.c bogus %j warning (test for bogus messages, line 66) FAIL: gcc.dg/format/c99-printf-1.c (test for excess errors) FAIL: gcc.dg/format/c99-printf-1.c bogus %j warning (test for bogus messages, line 65) FAIL: gcc.dg/format/c99-printf-1.c bogus %j warning (test for bogus messages, line 66) FAIL: gcc.dg/format/c99-printf-1.c (test for excess errors) FAIL: gcc.dg/format/c99-scanf-1.c bogus %j warning (test for bogus messages, line 85) FAIL: gcc.dg/format/c99-scanf-1.c (test for excess errors) FAIL: gcc.dg/format/c99-scanf-1.c bogus %j warning (test for bogus messages, line 85) FAIL: gcc.dg/format/c99-scanf-1.c (test for excess errors) FAIL: gcc.dg/format/c99-strftime-1.c (test for excess errors) FAIL: gcc.dg/format/c99-strftime-1.c (test for excess errors) FAIL: gcc.dg/special/gcsec-1.c (test for excess errors) FAIL: mips-abi 64 === gcc Summary === # of expected passes21105 # of unexpected failures39 # of expected failures 93 # of unsupported tests 160 /build/buildd/gcc-snapshot-20030314/build/gcc/xgcc version 3.3 20030314 (prerelease) === objc tests === Running target unix FAIL: objc.dg/naming-1.m (test for errors, line 20) FAIL: objc.dg/naming-1.m (test for excess errors) FAIL: objc.dg/naming-2.m (test for errors, line 7) FAIL: objc.dg/naming-2.m (test for excess errors) === objc Summary === # of expected passes1149 # of unexpected failures4 /build/buildd/gcc-snapshot-20030314/build/gcc/xgcc version 3.3 20030314 (prerelease) === libstdc++-v3 tests === Running target unix XPASS: 22_locale/collate_byname.cc execution test XPASS: 22_locale/collate_members_char.cc execution test XPASS: 22_locale/collate_members_wchar_t.cc execution test XPASS: 22_locale/ctype_is_char.cc execution test XPASS: 22_locale/members.cc execution test XPASS: 22_locale/messages_byname.cc execution test XPASS: 22_locale/mes