Issue Details (XML | Word | Printable)

Key: PCC-196
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Anders Magnusson
Reporter: andre f.
Votes: 0
Watchers: 0
Operations

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

amd64: suffix or operands invalid for `and'

Created: 02/Dec/10 11:25 AM   Updated: 04/Dec/10 08:43 PM
Component/s: amd64 target
Affects Version/s: None
Fix Version/s: None

File Attachments: 1. File gdt.c (0.7 kB)

Environment: pcc 101201 on OpenBSD 4.7 amd64 compiling OpenBSD 4.7 kernel source (GENERIC kernel config)


 Description  « Hide
pcc 101201 on OpenBSD 4.7 amd64 compiling OpenBSD 4.7 kernel source (GENERIC kernel config)
fails in arch/amd64/amd64/gdt.c with Error: suffix or operands invalid for `and'

the reduced code fragment triggering the error:

typedef unsigned long long u_int64_t;

struct sys_segment_descriptor {
 u_int64_t sd_lolimit:16;
 u_int64_t sd_lobase:24;
 u_int64_t sd_type:5;
 u_int64_t sd_dpl:2;
 u_int64_t sd_p:1;
 u_int64_t sd_hilimit:4;
 u_int64_t sd_xx1:3;
 u_int64_t sd_gran:1;
 u_int64_t sd_hibase:40;
 u_int64_t sd_xx2:8;
 u_int64_t sd_zero:5;
 u_int64_t sd_xx3:19;
} __attribute__((packed));

void
gdt_put_slot(int slot)
{
struct sys_segment_descriptor gdt[1];
gdt[0].sd_xx3 = 0;
}

ps: please can we get more backend components e.g. amd64 in the issue tracker ?!


 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Anders Magnusson added a comment - 02/Dec/10 07:19 PM
Added amd64 target.

Anders Magnusson added a comment - 04/Dec/10 08:43 PM
Fixed. Couldn't use 64-bit constants as args to andq in bitfield access.