patches/glibc/2.9/240-i386-LOAD_PIC_REG.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:46:47 2011 +0200 (2011-07-17)
changeset 2892 aa934ec4b4ee
parent 1201 c9967a6e3b25
permissions -rw-r--r--
cc/gcc: add the backend/frontend infra for final gcc

Currently, we issue the bare-metal compiler from the pass_1 & pass_2
core compilers, because the final gcc breaks while doing so.

This implies we have to build some libces during the start_files step,
instead of the standard libc step. This is the case for newlib.

By adding a backend/frontend infra to the final gcc, we can abstract
what backend to call: the standard backend for non-bare-metal gcc,
and the core backend for bare-metal.

This patch is just an no-op, it just adds the final backend and
frontend without changing the way bare-metal is built, to come in a
subsequent patch.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Original patch from: gentoo/src/patchsets/glibc/2.9/1050_all_glibc-i386-LOAD_PIC_REG.patch
     2 
     3 -= BEGIN original header =-
     4 From e41177ea18a77a7f62328293b4fd49ae17482e77 Mon Sep 17 00:00:00 2001
     5 From: Ulrich Drepper <drepper@redhat.com>
     6 Date: Sat, 6 Dec 2008 00:15:17 +0000
     7 Subject: [PATCH] (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG instead of doing things manually.
     8 
     9 -= END original header =-
    10 
    11 diff -durN glibc-2_9.orig/sysdeps/i386/dl-tlsdesc.S glibc-2_9/sysdeps/i386/dl-tlsdesc.S
    12 --- glibc-2_9.orig/sysdeps/i386/dl-tlsdesc.S	2008-05-13 07:33:06.000000000 +0200
    13 +++ glibc-2_9/sysdeps/i386/dl-tlsdesc.S	2009-02-02 22:00:56.000000000 +0100
    14 @@ -128,8 +128,7 @@
    15  .Lslow:
    16  	cfi_adjust_cfa_offset (28)
    17  	movl	%ebx, 16(%esp)
    18 -	call	__i686.get_pc_thunk.bx
    19 -	addl	$_GLOBAL_OFFSET_TABLE_, %ebx
    20 +	LOAD_PIC_REG (bx)
    21  	call	___tls_get_addr@PLT
    22  	movl	16(%esp), %ebx
    23  	jmp	.Lret