[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/19197] New: gold trunk cannot build LInux kernel
From: |
markus at trippelsdorf dot de |
Subject: |
[Bug gold/19197] New: gold trunk cannot build LInux kernel |
Date: |
Sun, 01 Nov 2015 09:06:44 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=19197
Bug ID: 19197
Summary: gold trunk cannot build LInux kernel
Product: binutils
Version: 2.26 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gold
Assignee: ccoutant at gmail dot com
Reporter: markus at trippelsdorf dot de
CC: ian at airs dot com
Target Milestone: ---
address@hidden linux % cat arch/x86/boot/bioscall.S
/* -----------------------------------------------------------------------
*
* Copyright 2009-2014 Intel Corporation; author H. Peter Anvin
*
* This file is part of the Linux kernel, and is made available under
* the terms of the GNU General Public License version 2 or (at your
* option) any later version; incorporated herein by reference.
*
* ----------------------------------------------------------------------- */
/*
* "Glove box" for BIOS calls. Avoids the constant problems with BIOSes
* touching registers they shouldn't be.
*/
.code16
.section ".inittext","ax"
.globl intcall
.type intcall, @function
intcall:
/* Self-modify the INT instruction. Ugly, but works. */
cmpb %al, 3f
je 1f
movb %al, 3f
jmp 1f /* Synchronize pipeline */
1:
/* Save state */
pushfl
pushw %fs
pushw %gs
pushal
/* Copy input state to stack frame */
subw $44, %sp
movw %dx, %si
movw %sp, %di
movw $11, %cx
rep; movsd
/* Pop full state from the stack */
popal
popw %gs
popw %fs
popw %es
popw %ds
popfl
/* Actual INT */
.byte 0xcd /* INT opcode */
3: .byte 0
/* Push full state to the stack */
pushfl
pushw %ds
pushw %es
pushw %fs
pushw %gs
pushal
/* Re-establish C environment invariants */
cld
movzwl %sp, %esp
movw %cs, %ax
movw %ax, %ds
movw %ax, %es
/* Copy output state from stack frame */
movw 68(%esp), %di /* Original %cx == 3rd argument */
andw %di, %di
jz 4f
movw %sp, %si
movw $11, %cx
rep; movsd
4: addw $44, %sp
/* Restore state and return */
popal
popw %gs
popw %fs
popfl
retl
.size intcall, .-intcall
address@hidden linux % gcc -m16 -c -o foo.o arch/x86/boot/bioscall.S
address@hidden linux % ld -m elf_x86_64 foo.o
ld: error: input file is incompatible with elf_x86_64 output emulation
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug gold/19197] New: gold trunk cannot build LInux kernel,
markus at trippelsdorf dot de <=
- [Bug gold/19197] gold trunk cannot build LInux kernel, markus at trippelsdorf dot de, 2015/11/01
- [Bug gold/19197] gold trunk cannot build LInux kernel, markus at trippelsdorf dot de, 2015/11/01
- [Bug gold/19197] gold trunk cannot build LInux kernel, markus at trippelsdorf dot de, 2015/11/01
- [Bug gold/19197] gold trunk cannot build LInux kernel, markus at trippelsdorf dot de, 2015/11/01
- [Bug gold/19197] gold trunk cannot build LInux kernel, hjl.tools at gmail dot com, 2015/11/02
- [Bug gold/19197] gold trunk cannot build LInux kernel, markus at trippelsdorf dot de, 2015/11/02
- [Bug gold/19197] gold trunk cannot build LInux kernel, hjl.tools at gmail dot com, 2015/11/02
- [Bug gold/19197] gold trunk cannot build LInux kernel, markus at trippelsdorf dot de, 2015/11/03
- [Bug gold/19197] gold trunk cannot build LInux kernel, luto at amacapital dot net, 2015/11/03
- [Bug gold/19197] gold trunk cannot build LInux kernel, cvs-commit at gcc dot gnu.org, 2015/11/05