Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 154116 - gcc -Os generates bad assembler code
Summary: gcc -Os generates bad assembler code
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 3
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
Depends On:
Blocks: 164805
TreeView+ depends on / blocked
Reported: 2005-04-07 16:03 UTC by D. Hugh Redelmeier
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 3.4.4-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2005-09-05 08:44:10 UTC

Attachments (Terms of Use)
C code to demonstrate bug (deleted)
2005-04-07 16:05 UTC, D. Hugh Redelmeier
no flags Details

Description D. Hugh Redelmeier 2005-04-07 16:03:15 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050323 Firefox/1.0.2 Fedora/1.0.2-1.3.1

Description of problem:
For the included example, gcc generates assembler code that makes the assembler complain.  The assembler code uses an immediate value in a movb that does not fit in a byte.  The original C code does not do this.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. fetch attached file "gcc-inline-bad-byte.c"
2. gcc -Os -c gcc-inline-bad-byte.c

Actual Results:  /tmp/ccDdmcnm.s: Assembler messages:
/tmp/ccDdmcnm.s:9: Warning: 277 shortened to 21

Expected Results:  no error messages

Additional info:

This example is boiled down from driver code being developed by the ivtv project.
Without inlining, there is no bad assembler code (I presume that the resulting code is correct, but I have not looked).

Comment 1 D. Hugh Redelmeier 2005-04-07 16:05:11 UTC
Created attachment 112816 [details]
C code to demonstrate bug

Comment 2 Jakub Jelinek 2005-05-27 15:24:20 UTC
Should be fixed in gcc-3.4.4-1.

Note You need to log in before you can comment on or make changes to this bug.