Project

General

Profile

Bug #5606

support build with binutils 2.25

Added by Alexander Pyhalov almost 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Start date:
2015-02-11
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage
Gerrit CR:

Description

illumos-gate build fails when binutils 2.25 are used:

/export/home/alp/srcs/oi-userland/components/illumos/illumos-gate/illumos-gate/usr/src/tools/proto/root_i386-nd/opt/onbld/bin/i386/aw -P -xarch=amd64 -P -Ui386 -U__i386 -D_KERNEL -D_SYSCALL32 -D_SYSCALL32_IMPL -D_ELF64 -D_DDI_STRICT -Ds
un -D__sun -D__SVR4 -D__i86xpv -D__xpv -D_MACHDEP -DOPTERON_ERRATUM_88 -DOPTERON_ERRATUM_91 -DOPTERON_ERRATUM_93 -DOPTERON_ERRATUM_95 -DOPTERON_ERRATUM_99 -DOPTERON_ERRATUM_100 -DOPTERON_ERRATUM_101 -DOPTERON_ERRATUM_108 -DOPTERON_ERRATU
M_109 -DOPTERON_ERRATUM_121 -DOPTERON_ERRATUM_122 -DOPTERON_ERRATUM_123 -DOPTERON_ERRATUM_131 -DOPTERON_WORKAROUND_6336786 -DOPTERON_WORKAROUND_6323525 -DOPTERON_ERRATUM_172 -DOPTERON_ERRATUM_298 -DOPTERON_ERRATUM_721 -D_ASM -D__STDC
__=0 -I../../i86xpv -I../../i86pc -I/export/home/alp/srcs/oi-userland/components/illumos/illumos-gate/illumos-gate/usr/src/common -I../../common/xen -I../../intel -I../../common -I../../i86xpv/genassym/obj64 -o obj64/desctbls_asm.o ..
/../intel/ia32/ml/desctbls_asm.s
../../intel/ia32/ml/desctbls_asm.s: Assembler messages:
../../intel/ia32/ml/desctbls_asm.s:202: Error: incorrect register `%rax' used with `w' suffix
  • Error code 1
    dmake: Warning: Command failed for target `obj64/desctbls_asm.o'
    Current working directory /export/home/alp/srcs/oi-userland/components/illumos/illumos-gate/illumos-gate/usr/src/uts/i86xpv/unix

The following patch, suggested by Igor Kozhukhov, fixes the issue. I've also checked that it works with binutils 2.23

--- a/usr/src/uts/intel/ia32/ml/desctbls_asm.s
+++ b/usr/src/uts/intel/ia32/ml/desctbls_asm.s
@@ -199,7 +199,7 @@ get_cs_register()

        ENTRY_NP(get_cs_register)
        movq    $0, %rax
-       movw    %cs, %rax
+       movq    %cs, %rax
        ret
        SET_SIZE(get_cs_register)
#1

Updated by Electric Monk almost 6 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit 4d4ea8fa1c791525ea6d0a077480434f64d6e7b4

commit  4d4ea8fa1c791525ea6d0a077480434f64d6e7b4
Author: Igor Kozhukhov <ikozhukhov@gmail.com>
Date:   2015-02-25T01:15:26.000Z

    5606 support build with binutils 2.25
    Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
    Reviewed by: Marcel Telka <marcel.telka@nexenta.com>
    Reviewed by: Piotr Jasiukajtis <estibi@me.com>
    Reviewed by: Richard Lowe <richlowe@richlowe.net>
    Approved by: Gordon Ross <gwr@nexenta.com>

Also available in: Atom PDF