bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Compile issue on i686 with binutils-2.30


From: Thomas Trepl
Subject: Compile issue on i686 with binutils-2.30
Date: Tue, 30 Jan 2018 19:49:17 +0100

Hi all,

i just ran into an issue compiling grub (version 2.02) on a i686-Linux. 
It complains about invalid assembler instructions.

Summary:
File in question:  grub-core/lib/i386/relocator64.S
binutils version:  2.30
gcc version     :  7.2.0
Distribution    :  Linux From Scratch dev-20180128

The error messages are:
lib/i386/relocator64.S: Assembler messages:
lib/i386/relocator64.S:66: Error: unknown pseudo-op: `.code64'
lib/i386/relocator64.S:74: Error: bad register name `%rax'
lib/i386/relocator64.S:98: Error: bad register name `%rax'
lib/i386/relocator64.S:132: Error: bad register name `%rip)'

Steps to reproduce on a i686 system:
- install binutils version 2.30
- compile grub with configure && make && make install  | fail in 'make'
- install binutils version 2.29.1
- compile grub with configure && make && make install  | completes fine

I've attached detailed logs of the builds i did:

build-grub-0.log:
  This build ends in error, binutils-2.30 are installed

build-grub-1.log:
  No surprises there, it shows a successful build using binutils-2.29.1

Find the instructions how i created the logs in the attached script
named build-grub.sh

Diff-ing the two logfiles shows that the first ~2770 lines are
identical, so the build system creates exact same instructions and is
not tricked somehow by the new binutils. After that, the error messages
are shown on the log-0 side, the remainder is the rest of the
successful build on log-1 side.

So my conclusion would be that the new 32bit-assembler in binutils 2.30
refuses to process x86_64 instructions which occur in relocator64.S.

In case there is something more to provide, just give me note.
Please copy me on replies as I'm not subscribed to this mailing-list.

--
Thomas

Attachment: build-grub.sh
Description: application/shellscript

Attachment: build-grub-0.log.gz
Description: application/gzip

Attachment: build-grub-1.log.gz
Description: application/gzip

Attachment: build-grub-X.log.diff.gz
Description: application/gzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]