|
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
build-grub.sh
Description: application/shellscript
build-grub-0.log.gz
Description: application/gzip
build-grub-1.log.gz
Description: application/gzip
build-grub-X.log.diff.gz
Description: application/gzip
[Prev in Thread] | Current Thread | [Next in Thread] |