Move Solaris/x86 CRT_GET_RFIB_DATA definition to libgcc

gcc:
	* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.

	libgcc:
	* config.host (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*):
	Add i386/elf-lib.h to tm_file.
	* config/i386/elf-lib.h: Fix comment.
	* unwind-dw2-fde-dip.c (_Unwind_IteratePhdrCallback) [__x86_64__
	&& __sun__ && __svr4__]: Remove workaround.

From-SVN: r220160
This commit is contained in:
Rainer Orth 2015-01-27 10:02:26 +00:00 committed by Rainer Orth
parent f4bdb96a34
commit f962fbf14c
6 changed files with 14 additions and 17 deletions

View File

@ -1,3 +1,7 @@
2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
2015-01-27 Jakub Jelinek <jakub@redhat.com>
Yury Gribov <y.gribov@samsung.com>

View File

@ -49,16 +49,3 @@ along with GCC; see the file COPYING3. If not see
goto DONE; \
} \
} while (0)
/* Used by crtstuff.c to initialize the base of data-relative relocations.
These are GOT relative on x86, so return the pic register. */
#define CRT_GET_RFIB_DATA(BASE) \
__asm__ ("call\t.LPR%=\n" \
".LPR%=:\n\t" \
"pop{l}\t%0\n\t" \
/* Due to a GAS bug, this cannot use EAX. That encodes \
smaller than the traditional EBX, which results in the \
offset being off by one. */ \
"add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0" \
"|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}" \
: "=d"(BASE))

View File

@ -1,3 +1,11 @@
2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config.host (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*):
Add i386/elf-lib.h to tm_file.
* config/i386/elf-lib.h: Fix comment.
* unwind-dw2-fde-dip.c (_Unwind_IteratePhdrCallback) [__x86_64__
&& __sun__ && __svr4__]: Remove workaround.
2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_BMI and

View File

@ -619,6 +619,7 @@ i[34567]86-*-rtems*)
i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
tm_file="${tm_file} i386/elf-lib.h"
md_unwind_header=i386/sol2-unwind.h
;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)

View File

@ -1,4 +1,4 @@
/* Definitions for Intel 386 systems using GNU userspace.
/* Definitions for Intel 386 ELF systems.
Copyright (C) 2015 Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify it under

View File

@ -343,9 +343,6 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
}
# elif defined __FRV_FDPIC__ && defined __linux__
data->dbase = load_base.got_value;
# elif defined __x86_64__ && defined __sun__ && defined __svr4__
/* While CRT_GET_RFIB_DATA is also defined for 64-bit Solaris 10+/x86, it
doesn't apply since it uses DW_EH_PE_pcrel encoding. */
# else
# error What is DW_EH_PE_datarel base on this platform?
# endif