Issue Details (XML | Word | Printable)

Key: PCC-96
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Anders Magnusson
Reporter: Jonathan Gray
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.

constant constraints not supported by i386 xasm

Created: 12/Sep/09 03:21 PM   Updated: 13/Sep/09 09:18 AM
Component/s: i386 target
Affects Version/s: None
Fix Version/s: None

Environment: OpenBSD/i386 -current, pcc cvs

 Description  « Hide
pcc does not seem to support the 'I' constraint which is used extensively in OpenSSL, ie:

/usr/src/lib/libssl/src/crypto/sha/sha_locl.h, line 367: unsupported xasm option string 'I'

Glancing at the code it seems that pcc does not support any of the constant constraints:

"I" : Constant in range 0 to 31 (for 32-bit shifts)
"J" : Constant in range 0 to 63 (for 64-bit shifts)
"K" : 0xff.
"L" : 0xffff.
"M" : 0, 1, 2, or 3 (shifts for lea instruction).
"N" : Constant in range 0 to 255 (for out instruction).

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Anders Magnusson added a comment - 13/Sep/09 09:18 AM
Added now. These arg types shouldn't be used in general code, only in writing gcc targets, the more general 'i' should have been used instead IMHO.