r249720 - in /trunk/gcc: ChangeLog config/s390/...

krebbel@gcc.gnu.org krebbel@gcc.gnu.org
Wed Jun 28 07:03:00 GMT 2017


Author: krebbel
Date: Wed Jun 28 07:03:35 2017
New Revision: 249720

URL: https://gcc.gnu.org/viewcvs?rev=249720&root=gcc&view=rev
Log:
S/390: New option -mpic-data-is-text-relative

For hotpatching it might be required to introduce new .text parts
while keep using the existing .data/.bss sections.  To make this work
the backend needs to be prevented from using relative addressing
between code and data.
This only works when already building PIC
since the addressing will then be handling via GOT.

gcc/testsuite/ChangeLog:

2017-06-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* gcc.target/s390/nodatarel-1.c: New test.

gcc/ChangeLog:

2017-06-28  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/predicates.md: Use s390_rel_address_ok_p.
	* config/s390/s390-protos.h: Add prototype of
	s390_rel_address_ok_p.
	* config/s390/s390.c (s390_got_symbol): New function.
	(s390_rel_address_ok_p): New function.
	(legitimize_pic_address): Use s390_rel_address_ok_p.
	(s390_load_got): Use s390_got_symbol.
	(s390_option_override): Issue error if
	-mno-pic-data-is-text-relative is used without -fpic/-fPIC.
	* config/s390/s390.h (TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE):
	New macro.
	* config/s390/s390.opt: New option mpic-data-is-text-relative.


Added:
    trunk/gcc/testsuite/gcc.target/s390/nodatarel-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/s390/predicates.md
    trunk/gcc/config/s390/s390-protos.h
    trunk/gcc/config/s390/s390.c
    trunk/gcc/config/s390/s390.h
    trunk/gcc/config/s390/s390.opt
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list