Opened on 03/07/08 at 17:56:41
Closed on 03/07/08 at 17:59:01
#1280 closed defect (fixed)
GCC ICE compiling shttpd/log.c on Coldfire
Reported by: | Joel Sherrill | Owned by: | Ralf Corsepius |
---|---|---|---|
Priority: | normal | Milestone: | 4.8 |
Component: | tool | Version: | unknown |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: |
Description
This is a known bug in gcc 4.2 and older. It is fixed in 4.3 and newer but will probably never be fixed in 4.2.x.
The RTEMS problem is that we had a work around which was too tight on checking gcc versions. I will be attaching an RTEMS patch which reenables the work around for all gcc 4.2.x and older.
m68k-rtems4.8-gcc --pipe -m5200 --pipe -DHAVE_CONFIG_H -I.. -I../../../lib/include -DHAVE_MD5 -Dcheck_authorization=_shttpd_check_authorization -Ddecode_url_encoded_string=_shttpd_decode_url_encoded_string -Dedit_passwords=_shttpd_edit_passwords -Delog=_shttpd_elog -Dget_dir=_shttpd_get_dir -Dget_file=_shttpd_get_file -Dget_headers_len=_shttpd_get_headers_len -Dget_mime_type=_shttpd_get_mime_type -Dinit_from_argc_argv=_shttpd_init_from_argc_argv -Dis_authorized_for_put=_shttpd_is_authorized_for_put -Dis_registered_uri=_shttpd_is_registered_uri -Dlog_access=_shttpd_log_access -Dparse_headers=_shttpd_parse_headers -Dput_dir=_shttpd_put_dir -Dsend_authorization_request=_shttpd_send_authorization_request -Dsend_server_error=_shttpd_send_server_error -Dset_close_on_exec=_shttpd_set_close_on_exec -Dset_mime_types=_shttpd_set_mime_types -Dset_non_blocking_mode=_shttpd_set_non_blocking_mode -Dsetup_embedded_stream=_shttpd_setup_embedded_stream -Dstop_stream=_shttpd_stop_stream -Dusage=_shttpd_usage -Dknown_http_methods=_shttpd_known_http_methods -Doptions=_shttpd_options -Dio_file=_shttpd_io_file -Dio_socket=_shttpd_io_socket -Dio_embedded=_shttpd_io_embedded -Dio_dir=_shttpd_io_dir -Dio_cgi=_shttpd_io_cgi -Dcurrent_time=_shttpd_current_time -Dtz_offset=_shttpd_tz_offset -Wall -fasm -g -O2 -m5200 -MT libshttpd_a-log.o -MD -MP -MF .deps/libshttpd_a-log.Tpo -c -o libshttpd_a-log.o test -f 'log.c' || echo '../../../../../current/cpukit/shttpd/'
log.c
../../../../../current/cpukit/shttpd/log.c: In function '_shttpd_log_access':
../../../../../current/cpukit/shttpd/log.c:139: error: insn does not satisfy its constraints:
(insn 74 158 159 10 ../../../../../current/cpukit/shttpd/log.c:117 (set (mem/c:SI (plus:SI (reg/f:SI 14 %a6)
(reg:SI 1 %d1)) [57 D.7273+0 S4 A16])
(mem/s:SI (plus:SI (reg/v/f:SI 10 %a2 [orig:48 c ] [48])
(const_int 220 [0xdc])) [8 <variable>.loc.io.total+0 S4 A16])) 34 {*movsi_cf} (nil)
(nil))
../../../../../current/cpukit/shttpd/log.c:139: internal compiler error: in reload_cse_simplify_operands, at postreload.c:392
Attachments (1)
Change History (2)
Changed on 03/07/08 at 17:57:47 by Joel Sherrill
Attachment: | shttpd.diff added |
---|
comment:1 Changed on 03/07/08 at 17:59:01 by Joel Sherrill
Resolution: | → fixed |
---|---|
Status: | new → closed |
Patch committed to 4.8 branch
broaden the gcc versions which enable the workaround