Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2018-06

x86_64-win64 compilation failure

5 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

J. Gareth Moreton

Hi everyone,

I think the latest version of the compiler on SVN is broken.  I tried getting a clean copy from the repository, but running the script fails with the following on x86_64-win64:

system.pp(123,5) Error: Asm: [sub reg64,imm8s] invalid combination of opcode and operands
system.pp(126,5) Error: Asm: [call reg64] invalid combination of opcode and operands
system.pp(127,5) Error: Asm: [nop] invalid combination of opcode and operands
system.pp(128,5) Error: Asm: [add reg64,imm8s] invalid combination of opcode and operands
x86_64.inc(89,12) Error: Compilation raised exception internally Fatal: Compilation aborted
An unhandled exception occurred at $0000000100226D8F: EAccessViolation: Access violation

(followed by the stack trace of addresses)
All those assembler commands should be valid.
Can anyone else confirm that it's broken, or if it's just me?

Gareth aka. Kit

Reply by email

J. Gareth Moreton

Okay, it probably is just me, because it happens even on a branch that I haven't merged with the main repository yet.  I have no idea how to fix this though.  Any ideas?  A full distclean of the main FPC directory and the compiler doesn't do anything.

Gareth aka. Kit

On Fri 01/06/18 18:24 , "J. Gareth Moreton"
sent:
Hi everyone,

I think the latest version of the compiler on SVN is broken.  I tried getting a clean copy from the repository, but running the script fails with the following on x86_64-win64:

system.pp(123,5) Error: Asm: [sub reg64,imm8s] invalid combination of opcode and operands
system.pp(126,5) Error: Asm: [call reg64] invalid combination of opcode and operands
system.pp(127,5) Error: Asm: [nop] invalid combination of opcode and operands
system.pp(128,5) Error: Asm: [add reg64,imm8s] invalid combination of opcode and operands
x86_64.inc(89,12) Error: Compilation raised exception internally Fatal: Compilation aborted
An unhandled exception occurred at $0000000100226D8F: EAccessViolation: Access violation

(followed by the stack trace of addresses)
All those assembler commands should be valid.
Can anyone else confirm that it's broken, or if it's just me?

Gareth aka. Kit

Reply by email

J. Gareth Moreton

It seems to have been fixed now after I did a manual deletion of all .o and .ppu files.  Not sure what that was all about.  Sorry to waste anyone's time - emergency over.

Gareth aka. Kit

On Fri 01/06/18 18:35 , "J. Gareth Moreton"
sent:
Okay, it probably is just me, because it happens even on a branch that I haven't merged with the main repository yet.  I have no idea how to fix this though.  Any ideas?  A full distclean of the main FPC directory and the compiler doesn't do anything.

Gareth aka. Kit

On Fri 01/06/18 18:24 , "J. Gareth Moreton"
sent:
Hi everyone,

I think the latest version of the compiler on SVN is broken.  I tried getting a clean copy from the repository, but running the script fails with the following on x86_64-win64:

system.pp(123,5) Error: Asm: [sub reg64,imm8s] invalid combination of opcode and operands
system.pp(126,5) Error: Asm: [call reg64] invalid combination of opcode and operands
system.pp(127,5) Error: Asm: [nop] invalid combination of opcode and operands
system.pp(128,5) Error: Asm: [add reg64,imm8s] invalid combination of opcode and operands
x86_64.inc(89,12) Error: Compilation raised exception internally Fatal: Compilation aborted
An unhandled exception occurred at $0000000100226D8F: EAccessViolation: Access violation

(followed by the stack trace of addresses)
All those assembler commands should be valid.
Can anyone else confirm that it's broken, or if it's just me?

Gareth aka. Kit

Reply by email

J. Gareth Moreton

I was doing a "make distclean all". I did do a "make clean" at one point, and a "make clean" and "make distclean" on just the compiler directory to be sure, but that didn't work either.  I'm not quite sure how doing "del /s *.o", "del /s *.a" and "del /s *.ppu" fixed it, but it's fixed now. The access violation I think came from an optimisation I'm testing out (part of my deep optimiser that I've managed to isolate and merge into the peephole optimiser), and there's a circumstance where it causes the compiler to break, so I'm trying to pinpoint where it happens and either fix it or disable it.  Not sure how it made everything bad though. One of the joys of programming a compiler!
Gareth aka. Kit

On Fri 01/06/18 22:21 , "Sven Barth" sent:
J. Gareth Moreton schrieb am Fr., 1. Juni 2018, 21:02: It seems to have been fixed now after I did a manual deletion of all .o and .ppu files.  Not sure what that was all about.  Sorry to waste anyone's time - emergency over.
Just to be sure: you are doing a "make clean all" at the top level of the checkout with the starting compiler being a 3.0.4 one?  Regards, Sven 

Reply by email

Sven Barth
to J. Gareth Moreton: It seems to have been fixed now after I did a manual deletion of all .o and .ppu files. …

J. Gareth Moreton schrieb am Fr., 1. Juni 2018,
21:02:

It seems to have been fixed now after I did a manual deletion of all .o and .ppu files. Not sure what that was all about. Sorry to waste anyone's time - emergency over.

Just to be sure: you are doing a "make clean all" at the top level of the checkout with the starting compiler being a 3.0.4 one?

Regards,
Sven

Reply by email