Summary: | genmodes.c:964: internal compiler error: Bus error in md5_process_block | ||
---|---|---|---|
Product: | gcc | Reporter: | John David Anglin <danglin> |
Component: | other | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gcc-bugs, ghazi |
Priority: | P2 | Keywords: | build |
Version: | 3.4.0 | ||
Target Milestone: | 3.4.6 | ||
Host: | hppa2.0-hp-hpux11.00 | Target: | hppa2.0-hp-hpux11.00 |
Build: | hppa2.0-hp-hpux11.00 | Known to work: | |
Known to fail: | Last reconfirmed: | 2004-01-29 01:03:40 |
Description
John David Anglin
2004-01-28 23:45:28 UTC
It does not happen without --enable-checking because md5 is not used. The problem is that md5_process_block believes it is okay to have unaligned words. This will effect 3.5.0 also if PCH and includes are used and the buffer is not word aligned. Subject: Bug 13906 CVSROOT: /cvs/gcc Module name: gcc Changes by: sje@gcc.gnu.org 2005-07-03 15:38:39 Modified files: include : ChangeLog ansidecl.h md5.h Log message: PR other/13906 * ansidecl.h (ATTRIBUTE_ALIGNED_ALIGNOF): New. * md5.h (md5_uintptr): New. (md5_ctx): Align buffer field. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/include/ChangeLog.diff?cvsroot=gcc&r1=1.197&r2=1.198 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/include/ansidecl.h.diff?cvsroot=gcc&r1=1.23&r2=1.24 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/include/md5.h.diff?cvsroot=gcc&r1=1.5&r2=1.6 Subject: Bug 13906 CVSROOT: /cvs/gcc Module name: gcc Changes by: sje@gcc.gnu.org 2005-07-03 15:40:30 Modified files: libiberty : ChangeLog md5.c Log message: PR other/13906 * md5.c (md5_process_bytes): Check alignment. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libiberty/ChangeLog.diff?cvsroot=gcc&r1=1.587&r2=1.588 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libiberty/md5.c.diff?cvsroot=gcc&r1=1.8&r2=1.9 This change breaks building Cygwin, and probably anything else that uses libiberty outside of gcc, because 'md5uint_ptr' is only defined in the gcc tree: make[1]: Entering directory `/usr/src/cygwin/build/libiberty' if [ x"" != x ]; then \ ccache gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../src/libiberty/../include -W -Wall -pedantic -Wwrite-strings -Wstrict-prototypes ../../src/libiberty/md5.c -o pic/md5.o; \ else true; fi ccache gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../src/libiberty/../include -W -Wall -pedantic -Wwrite-strings -Wstrict-prototypes ../../src/libiberty/md5.c -o md5.o ../../src/libiberty/md5.c: In function `md5_process_bytes': ../../src/libiberty/md5.c:234: error: `md5_uintptr' undeclared (first use in this function) ../../src/libiberty/md5.c:234: error: (Each undeclared identifier is reported only once ../../src/libiberty/md5.c:234: error: for each function it appears in.) ../../src/libiberty/md5.c:234: error: parse error before "buffer" make[1]: *** [md5.o] Error 1 make[1]: Leaving directory `/usr/src/cygwin/build/libiberty' make: *** [all-libiberty] Error 2 Subject: Re: genmodes.c:964: internal compiler error: Bus error in md5_process_block I can build the latest CVS binutils on x86_64-linux. Please make sure you have the include files that correspond to the libiberty you're using; you can't mix and match them. If you are using a newer md5.c than md5.h you're bound to have problems. *sigh* Yes, you're right. I had cvs upped in libiberty and not include. Sorry for the noise. Fixed for 4.1. Subject: Bug 13906 Author: ghazi Date: Mon Feb 6 13:49:41 2006 New Revision: 110642 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110642 Log: include: Backport: 2006-01-18 DJ Delorie <dj@redhat.com> * md5.h: Include ansidecl.h 2005-07-03 Steve Ellcey <sje@cup.hp.com> PR other/13906 * ansidecl.h (ATTRIBUTE_ALIGNED_ALIGNOF): New. * md5.h (md5_uintptr): New. (md5_ctx): Align buffer field. libiberty: Backport: 2005-07-03 Steve Ellcey <sje@cup.hp.com> PR other/13906 * md5.c (md5_process_bytes): Check alignment. Modified: branches/gcc-4_0-branch/include/ChangeLog branches/gcc-4_0-branch/include/ansidecl.h branches/gcc-4_0-branch/include/md5.h branches/gcc-4_0-branch/libiberty/ChangeLog branches/gcc-4_0-branch/libiberty/md5.c Subject: Bug 13906 Author: ghazi Date: Mon Feb 6 14:06:55 2006 New Revision: 110643 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110643 Log: include: Backport: 2006-01-18 DJ Delorie <dj@redhat.com> * md5.h: Include ansidecl.h 2005-07-03 Steve Ellcey <sje@cup.hp.com> PR other/13906 * ansidecl.h (ATTRIBUTE_ALIGNED_ALIGNOF): New. * md5.h (md5_uintptr): New. (md5_ctx): Align buffer field. libiberty: Backport: 2005-07-03 Steve Ellcey <sje@cup.hp.com> PR other/13906 * md5.c (md5_process_bytes): Check alignment. Modified: branches/gcc-3_4-branch/include/ChangeLog branches/gcc-3_4-branch/include/ansidecl.h branches/gcc-3_4-branch/include/md5.h branches/gcc-3_4-branch/libiberty/ChangeLog branches/gcc-3_4-branch/libiberty/md5.c Fix backported to 3.4 and 4.0. |