diff mbox

RTEMS: Add GCC Runtime Library Exception

Message ID 20170724060358.28937-1-sebastian.huber@embedded-brains.de
State New
Headers show

Commit Message

Sebastian Huber July 24, 2017, 6:03 a.m. UTC
gcc/

	PR libgcc/61152
	* aarch64/rtems.h: Add GCC Runtime Library Exception.  Format
	changes.
	* arm/rtems.h: Likewise.
	* bfin/rtems.h: Likewise.
	* i386/rtemself.h: Likewise.
	* lm32/rtems.h: Likewise.
	* m32c/rtems.h: Likewise.
	* m68k/rtemself.h: Likewise.
	* microblaze/rtems.h: Likewise.
	* mips/rtems.h: Likewise.
	* moxie/rtems.h: Likewise.
	* nios2/rtems.h: Likewise.
	* powerpcspe/rtems.h: Likewise.
	* rs6000/rtems.h: Likewise.
	* rtems.h: Likewise.
	* sh/rtems.h: Likewise.
	* sh/rtemself.h: Likewise.
	* sparc/rtemself.h: Likewise.
---
 gcc/config/aarch64/rtems.h    | 17 +++++++++++------
 gcc/config/arm/rtems.h        | 17 +++++++++++------
 gcc/config/bfin/rtems.h       | 29 +++++++++++++++++------------
 gcc/config/i386/rtemself.h    | 29 +++++++++++++++++------------
 gcc/config/lm32/rtems.h       | 29 +++++++++++++++++------------
 gcc/config/m32c/rtems.h       | 29 +++++++++++++++++------------
 gcc/config/m68k/rtemself.h    | 29 +++++++++++++++++------------
 gcc/config/microblaze/rtems.h | 29 +++++++++++++++++------------
 gcc/config/mips/rtems.h       | 29 +++++++++++++++++------------
 gcc/config/moxie/rtems.h      | 29 +++++++++++++++++------------
 gcc/config/nios2/rtems.h      | 35 ++++++++++++++++++++---------------
 gcc/config/powerpcspe/rtems.h |  9 +++++++--
 gcc/config/rs6000/rtems.h     |  9 +++++++--
 gcc/config/rtems.h            | 40 ++++++++++++++++++++--------------------
 gcc/config/sh/rtems.h         | 29 +++++++++++++++++------------
 gcc/config/sh/rtemself.h      | 29 +++++++++++++++++------------
 gcc/config/sparc/rtemself.h   | 29 +++++++++++++++++------------
 17 files changed, 263 insertions(+), 183 deletions(-)

Comments

Jeff Law Aug. 2, 2017, 7:30 p.m. UTC | #1
On 07/24/2017 12:03 AM, Sebastian Huber wrote:
> gcc/
> 
> 	PR libgcc/61152
> 	* aarch64/rtems.h: Add GCC Runtime Library Exception.  Format
> 	changes.
> 	* arm/rtems.h: Likewise.
> 	* bfin/rtems.h: Likewise.
> 	* i386/rtemself.h: Likewise.
> 	* lm32/rtems.h: Likewise.
> 	* m32c/rtems.h: Likewise.
> 	* m68k/rtemself.h: Likewise.
> 	* microblaze/rtems.h: Likewise.
> 	* mips/rtems.h: Likewise.
> 	* moxie/rtems.h: Likewise.
> 	* nios2/rtems.h: Likewise.
> 	* powerpcspe/rtems.h: Likewise.
> 	* rs6000/rtems.h: Likewise.
> 	* rtems.h: Likewise.
> 	* sh/rtems.h: Likewise.
> 	* sh/rtemself.h: Likewise.
> 	* sparc/rtemself.h: Likewise.
This seems horribly wrong.  Did anyone ack this change?  I'm fully
supportive of target maintainers taking care of their areas, but
licensing stuff probably should get explicitly ack'd.

I just reviewed all the rtems config files and I don't see anything in
any of them that deserves a runtime exception with the possible
exception of rs6000/rtems.h.

Seriously.  Redefining the CPP builtins?  LINK_SPEC?  #undefs?   Those
are not things we should be granting an exception for.

The one that looks marginal to me would be rs6000/rtems.h and its
definition of CRT_CALL_STATIC_FUNCTION.

Jeff
Sebastian Huber Aug. 3, 2017, 5:11 a.m. UTC | #2
On 02/08/17 21:30, Jeff Law wrote:

> On 07/24/2017 12:03 AM, Sebastian Huber wrote:
>> gcc/
>>
>> 	PR libgcc/61152
>> 	* aarch64/rtems.h: Add GCC Runtime Library Exception.  Format
>> 	changes.
>> 	* arm/rtems.h: Likewise.
>> 	* bfin/rtems.h: Likewise.
>> 	* i386/rtemself.h: Likewise.
>> 	* lm32/rtems.h: Likewise.
>> 	* m32c/rtems.h: Likewise.
>> 	* m68k/rtemself.h: Likewise.
>> 	* microblaze/rtems.h: Likewise.
>> 	* mips/rtems.h: Likewise.
>> 	* moxie/rtems.h: Likewise.
>> 	* nios2/rtems.h: Likewise.
>> 	* powerpcspe/rtems.h: Likewise.
>> 	* rs6000/rtems.h: Likewise.
>> 	* rtems.h: Likewise.
>> 	* sh/rtems.h: Likewise.
>> 	* sh/rtemself.h: Likewise.
>> 	* sparc/rtemself.h: Likewise.
> This seems horribly wrong.  Did anyone ack this change?  I'm fully
> supportive of target maintainers taking care of their areas, but
> licensing stuff probably should get explicitly ack'd.
>
> I just reviewed all the rtems config files and I don't see anything in
> any of them that deserves a runtime exception with the possible
> exception of rs6000/rtems.h.
>
> Seriously.  Redefining the CPP builtins?  LINK_SPEC?  #undefs?   Those
> are not things we should be granting an exception for.
>
> The one that looks marginal to me would be rs6000/rtems.h and its
> definition of CRT_CALL_STATIC_FUNCTION.

I asked on the mailing list:

https://gcc.gnu.org/ml/gcc/2017-07/msg00171.html

Jakub Jelinek said that for header files included by libgcc it is 
important whether they have the runtime exception or not:

https://gcc.gnu.org/ml/gcc/2017-07/msg00176.html

There is also this PR61152 from 2014

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61152

which adds the runtime exception to a couple of gcc/ subdirectory files 
(including some RTEMS files). So, I had no explicit acknowledge, but my 
impression was that I did simply fix some left over files.

If you don't add the runtime exception to files included by libgcc, then 
the user of GCC must check that these files contain no content that 
deserves a copyright. Is this really user friendly?
Sebastian Huber Aug. 23, 2017, 5:15 a.m. UTC | #3
Hello Jeff,

On 03/08/17 07:11, Sebastian Huber wrote:
> On 02/08/17 21:30, Jeff Law wrote:
>
>> On 07/24/2017 12:03 AM, Sebastian Huber wrote:
>>> gcc/
>>>
>>>     PR libgcc/61152
>>>     * aarch64/rtems.h: Add GCC Runtime Library Exception. Format
>>>     changes.
>>>     * arm/rtems.h: Likewise.
>>>     * bfin/rtems.h: Likewise.
>>>     * i386/rtemself.h: Likewise.
>>>     * lm32/rtems.h: Likewise.
>>>     * m32c/rtems.h: Likewise.
>>>     * m68k/rtemself.h: Likewise.
>>>     * microblaze/rtems.h: Likewise.
>>>     * mips/rtems.h: Likewise.
>>>     * moxie/rtems.h: Likewise.
>>>     * nios2/rtems.h: Likewise.
>>>     * powerpcspe/rtems.h: Likewise.
>>>     * rs6000/rtems.h: Likewise.
>>>     * rtems.h: Likewise.
>>>     * sh/rtems.h: Likewise.
>>>     * sh/rtemself.h: Likewise.
>>>     * sparc/rtemself.h: Likewise.
>> This seems horribly wrong.  Did anyone ack this change?  I'm fully
>> supportive of target maintainers taking care of their areas, but
>> licensing stuff probably should get explicitly ack'd.
>>
>> I just reviewed all the rtems config files and I don't see anything in
>> any of them that deserves a runtime exception with the possible
>> exception of rs6000/rtems.h.
>>
>> Seriously.  Redefining the CPP builtins?  LINK_SPEC?  #undefs? Those
>> are not things we should be granting an exception for.
>>
>> The one that looks marginal to me would be rs6000/rtems.h and its
>> definition of CRT_CALL_STATIC_FUNCTION.
>
> I asked on the mailing list:
>
> https://gcc.gnu.org/ml/gcc/2017-07/msg00171.html
>
> Jakub Jelinek said that for header files included by libgcc it is 
> important whether they have the runtime exception or not:
>
> https://gcc.gnu.org/ml/gcc/2017-07/msg00176.html
>
> There is also this PR61152 from 2014
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61152
>
> which adds the runtime exception to a couple of gcc/ subdirectory 
> files (including some RTEMS files). So, I had no explicit acknowledge, 
> but my impression was that I did simply fix some left over files.
>
> If you don't add the runtime exception to files included by libgcc, 
> then the user of GCC must check that these files contain no content 
> that deserves a copyright. Is this really user friendly?
>

What should I do now? It would be nice to have a general guideline on 
how to deal with header files used by libgcc.
Jeff Law Dec. 21, 2017, 4:58 a.m. UTC | #4
On 08/22/2017 11:15 PM, Sebastian Huber wrote:
> Hello Jeff,
> 
> On 03/08/17 07:11, Sebastian Huber wrote:
>> On 02/08/17 21:30, Jeff Law wrote:
>>
>>> On 07/24/2017 12:03 AM, Sebastian Huber wrote:
>>>> gcc/
>>>>
>>>>     PR libgcc/61152
>>>>     * aarch64/rtems.h: Add GCC Runtime Library Exception. Format
>>>>     changes.
>>>>     * arm/rtems.h: Likewise.
>>>>     * bfin/rtems.h: Likewise.
>>>>     * i386/rtemself.h: Likewise.
>>>>     * lm32/rtems.h: Likewise.
>>>>     * m32c/rtems.h: Likewise.
>>>>     * m68k/rtemself.h: Likewise.
>>>>     * microblaze/rtems.h: Likewise.
>>>>     * mips/rtems.h: Likewise.
>>>>     * moxie/rtems.h: Likewise.
>>>>     * nios2/rtems.h: Likewise.
>>>>     * powerpcspe/rtems.h: Likewise.
>>>>     * rs6000/rtems.h: Likewise.
>>>>     * rtems.h: Likewise.
>>>>     * sh/rtems.h: Likewise.
>>>>     * sh/rtemself.h: Likewise.
>>>>     * sparc/rtemself.h: Likewise.
>>> This seems horribly wrong.  Did anyone ack this change?  I'm fully
>>> supportive of target maintainers taking care of their areas, but
>>> licensing stuff probably should get explicitly ack'd.
>>>
>>> I just reviewed all the rtems config files and I don't see anything in
>>> any of them that deserves a runtime exception with the possible
>>> exception of rs6000/rtems.h.
>>>
>>> Seriously.  Redefining the CPP builtins?  LINK_SPEC?  #undefs? Those
>>> are not things we should be granting an exception for.
>>>
>>> The one that looks marginal to me would be rs6000/rtems.h and its
>>> definition of CRT_CALL_STATIC_FUNCTION.
>>
>> I asked on the mailing list:
>>
>> https://gcc.gnu.org/ml/gcc/2017-07/msg00171.html
>>
>> Jakub Jelinek said that for header files included by libgcc it is
>> important whether they have the runtime exception or not:
>>
>> https://gcc.gnu.org/ml/gcc/2017-07/msg00176.html
>>
>> There is also this PR61152 from 2014
>>
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61152
>>
>> which adds the runtime exception to a couple of gcc/ subdirectory
>> files (including some RTEMS files). So, I had no explicit acknowledge,
>> but my impression was that I did simply fix some left over files.
>>
>> If you don't add the runtime exception to files included by libgcc,
>> then the user of GCC must check that these files contain no content
>> that deserves a copyright. Is this really user friendly?
>>
> 
> What should I do now? It would be nice to have a general guideline on
> how to deal with header files used by libgcc.
You have to look at each header and determine how the contents are used
and whether or not those uses are of a nature that requires an exception.

So, yes it's important to get the exception in there when it's needed.
But that doesn't mean we just drop the exception into every file that's
included by something in libgcc.  We are stewards of the GCC sources for
the FSF and we have to be very careful when it comes to changing the
licensing on any code.

WRT 61152.   That doesn't mean splatting the runtime exception into
those files is/was the correct thing to do.  Again, one has to look at
it on a file by file basis.  I have not looked at those changes in
detail to know if they really need the license exception or not.

The FSF has been very clear through the decades that linking against
libgcc should not drag the user's code under the terms of the GPL.  So
all users have to do is extend a degree of trust.  When files have
actually needed a license change we've taken care of it and always will.


I'm not going to demand you revert the change, but let's please get an
explicit ack before changing the licensing terms in the future.

jeff
Sebastian Huber Dec. 22, 2017, 6:59 a.m. UTC | #5
On 21/12/17 05:58, Jeff Law wrote:
> On 08/22/2017 11:15 PM, Sebastian Huber wrote:
>> Hello Jeff,
>>
>> On 03/08/17 07:11, Sebastian Huber wrote:
>>> On 02/08/17 21:30, Jeff Law wrote:
>>>
>>>> On 07/24/2017 12:03 AM, Sebastian Huber wrote:
>>>>> gcc/
>>>>>
>>>>>      PR libgcc/61152
>>>>>      * aarch64/rtems.h: Add GCC Runtime Library Exception. Format
>>>>>      changes.
>>>>>      * arm/rtems.h: Likewise.
>>>>>      * bfin/rtems.h: Likewise.
>>>>>      * i386/rtemself.h: Likewise.
>>>>>      * lm32/rtems.h: Likewise.
>>>>>      * m32c/rtems.h: Likewise.
>>>>>      * m68k/rtemself.h: Likewise.
>>>>>      * microblaze/rtems.h: Likewise.
>>>>>      * mips/rtems.h: Likewise.
>>>>>      * moxie/rtems.h: Likewise.
>>>>>      * nios2/rtems.h: Likewise.
>>>>>      * powerpcspe/rtems.h: Likewise.
>>>>>      * rs6000/rtems.h: Likewise.
>>>>>      * rtems.h: Likewise.
>>>>>      * sh/rtems.h: Likewise.
>>>>>      * sh/rtemself.h: Likewise.
>>>>>      * sparc/rtemself.h: Likewise.
>>>> This seems horribly wrong.  Did anyone ack this change?  I'm fully
>>>> supportive of target maintainers taking care of their areas, but
>>>> licensing stuff probably should get explicitly ack'd.
>>>>
>>>> I just reviewed all the rtems config files and I don't see anything in
>>>> any of them that deserves a runtime exception with the possible
>>>> exception of rs6000/rtems.h.
>>>>
>>>> Seriously.  Redefining the CPP builtins?  LINK_SPEC?  #undefs? Those
>>>> are not things we should be granting an exception for.
>>>>
>>>> The one that looks marginal to me would be rs6000/rtems.h and its
>>>> definition of CRT_CALL_STATIC_FUNCTION.
>>> I asked on the mailing list:
>>>
>>> https://gcc.gnu.org/ml/gcc/2017-07/msg00171.html
>>>
>>> Jakub Jelinek said that for header files included by libgcc it is
>>> important whether they have the runtime exception or not:
>>>
>>> https://gcc.gnu.org/ml/gcc/2017-07/msg00176.html
>>>
>>> There is also this PR61152 from 2014
>>>
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61152
>>>
>>> which adds the runtime exception to a couple of gcc/ subdirectory
>>> files (including some RTEMS files). So, I had no explicit acknowledge,
>>> but my impression was that I did simply fix some left over files.
>>>
>>> If you don't add the runtime exception to files included by libgcc,
>>> then the user of GCC must check that these files contain no content
>>> that deserves a copyright. Is this really user friendly?
>>>
>> What should I do now? It would be nice to have a general guideline on
>> how to deal with header files used by libgcc.
> You have to look at each header and determine how the contents are used
> and whether or not those uses are of a nature that requires an exception.
>
> So, yes it's important to get the exception in there when it's needed.
> But that doesn't mean we just drop the exception into every file that's
> included by something in libgcc.  We are stewards of the GCC sources for
> the FSF and we have to be very careful when it comes to changing the
> licensing on any code.
>
> WRT 61152.   That doesn't mean splatting the runtime exception into
> those files is/was the correct thing to do.  Again, one has to look at
> it on a file by file basis.  I have not looked at those changes in
> detail to know if they really need the license exception or not.
>
> The FSF has been very clear through the decades that linking against
> libgcc should not drag the user's code under the terms of the GPL.  So
> all users have to do is extend a degree of trust.  When files have
> actually needed a license change we've taken care of it and always will.
>
>
> I'm not going to demand you revert the change, but let's please get an
> explicit ack before changing the licensing terms in the future.

Ok, thanks for the clarification. I will be more careful in the future.

What is the status of this PR

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61152

now? Can it be closed with a notice that this must be decided file by file?
Jeff Law Jan. 12, 2018, 10:51 p.m. UTC | #6
On 12/21/2017 11:59 PM, Sebastian Huber wrote:
> On 21/12/17 05:58, Jeff Law wrote:
>> On 08/22/2017 11:15 PM, Sebastian Huber wrote:
>>> Hello Jeff,
>>>
>>> On 03/08/17 07:11, Sebastian Huber wrote:
>>>> On 02/08/17 21:30, Jeff Law wrote:
>>>>
>>>>> On 07/24/2017 12:03 AM, Sebastian Huber wrote:
>>>>>> gcc/
>>>>>>
>>>>>>      PR libgcc/61152
>>>>>>      * aarch64/rtems.h: Add GCC Runtime Library Exception. Format
>>>>>>      changes.
>>>>>>      * arm/rtems.h: Likewise.
>>>>>>      * bfin/rtems.h: Likewise.
>>>>>>      * i386/rtemself.h: Likewise.
>>>>>>      * lm32/rtems.h: Likewise.
>>>>>>      * m32c/rtems.h: Likewise.
>>>>>>      * m68k/rtemself.h: Likewise.
>>>>>>      * microblaze/rtems.h: Likewise.
>>>>>>      * mips/rtems.h: Likewise.
>>>>>>      * moxie/rtems.h: Likewise.
>>>>>>      * nios2/rtems.h: Likewise.
>>>>>>      * powerpcspe/rtems.h: Likewise.
>>>>>>      * rs6000/rtems.h: Likewise.
>>>>>>      * rtems.h: Likewise.
>>>>>>      * sh/rtems.h: Likewise.
>>>>>>      * sh/rtemself.h: Likewise.
>>>>>>      * sparc/rtemself.h: Likewise.
>>>>> This seems horribly wrong.  Did anyone ack this change?  I'm fully
>>>>> supportive of target maintainers taking care of their areas, but
>>>>> licensing stuff probably should get explicitly ack'd.
>>>>>
>>>>> I just reviewed all the rtems config files and I don't see anything in
>>>>> any of them that deserves a runtime exception with the possible
>>>>> exception of rs6000/rtems.h.
>>>>>
>>>>> Seriously.  Redefining the CPP builtins?  LINK_SPEC?  #undefs? Those
>>>>> are not things we should be granting an exception for.
>>>>>
>>>>> The one that looks marginal to me would be rs6000/rtems.h and its
>>>>> definition of CRT_CALL_STATIC_FUNCTION.
>>>> I asked on the mailing list:
>>>>
>>>> https://gcc.gnu.org/ml/gcc/2017-07/msg00171.html
>>>>
>>>> Jakub Jelinek said that for header files included by libgcc it is
>>>> important whether they have the runtime exception or not:
>>>>
>>>> https://gcc.gnu.org/ml/gcc/2017-07/msg00176.html
>>>>
>>>> There is also this PR61152 from 2014
>>>>
>>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61152
>>>>
>>>> which adds the runtime exception to a couple of gcc/ subdirectory
>>>> files (including some RTEMS files). So, I had no explicit acknowledge,
>>>> but my impression was that I did simply fix some left over files.
>>>>
>>>> If you don't add the runtime exception to files included by libgcc,
>>>> then the user of GCC must check that these files contain no content
>>>> that deserves a copyright. Is this really user friendly?
>>>>
>>> What should I do now? It would be nice to have a general guideline on
>>> how to deal with header files used by libgcc.
>> You have to look at each header and determine how the contents are used
>> and whether or not those uses are of a nature that requires an exception.
>>
>> So, yes it's important to get the exception in there when it's needed.
>> But that doesn't mean we just drop the exception into every file that's
>> included by something in libgcc.  We are stewards of the GCC sources for
>> the FSF and we have to be very careful when it comes to changing the
>> licensing on any code.
>>
>> WRT 61152.   That doesn't mean splatting the runtime exception into
>> those files is/was the correct thing to do.  Again, one has to look at
>> it on a file by file basis.  I have not looked at those changes in
>> detail to know if they really need the license exception or not.
>>
>> The FSF has been very clear through the decades that linking against
>> libgcc should not drag the user's code under the terms of the GPL.  So
>> all users have to do is extend a degree of trust.  When files have
>> actually needed a license change we've taken care of it and always will.
>>
>>
>> I'm not going to demand you revert the change, but let's please get an
>> explicit ack before changing the licensing terms in the future.
> 
> Ok, thanks for the clarification. I will be more careful in the future.
> 
> What is the status of this PR
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61152
> 
> now? Can it be closed with a notice that this must be decided file by file?
Seems reasonable with a note that it needs to be decided file by file.

jeff
Joseph Myers Jan. 12, 2018, 10:56 p.m. UTC | #7
On Fri, 12 Jan 2018, Jeff Law wrote:

> > What is the status of this PR
> > 
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61152
> > 
> > now? Can it be closed with a notice that this must be decided file by file?
> Seems reasonable with a note that it needs to be decided file by file.

And the ideal solution for such issues is clear: stop target code using 
host-side headers so that we can end up with no such headers needing the 
exception at all.  (If a target macro is only used in target side code, 
move it to libgcc's tm.h headers.  If it can be replaced by use of 
predefined macros, do so.  Otherwise, make the compiler predefine suitable 
macros if -fbuilding-libgcc.  See 
<https://gcc.gnu.org/wiki/Top-Level_Libgcc_Migration> for possibly out of 
date lists of target macros that needs to be addressed in one of those 
ways.)
diff mbox

Patch

diff --git a/gcc/config/aarch64/rtems.h b/gcc/config/aarch64/rtems.h
index b48e28afda0..07c5679d5c1 100644
--- a/gcc/config/aarch64/rtems.h
+++ b/gcc/config/aarch64/rtems.h
@@ -1,20 +1,25 @@ 
 /* Definitions for RTEMS based AARCH64 system.
    Copyright (C) 2016-2017 Free Software Foundation, Inc.
- 
+
    This file is part of GCC.
- 
+
    GCC is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
    by the Free Software Foundation; either version 3, or (at your
    option) any later version.
- 
+
    GCC is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
    License for more details.
- 
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING3.  If not see
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
 #define HAS_INIT_SECTION
diff --git a/gcc/config/arm/rtems.h b/gcc/config/arm/rtems.h
index b34bbe8a063..77eb32c1d20 100644
--- a/gcc/config/arm/rtems.h
+++ b/gcc/config/arm/rtems.h
@@ -1,20 +1,25 @@ 
 /* Definitions for RTEMS based ARM systems using EABI.
    Copyright (C) 2011-2017 Free Software Foundation, Inc.
- 
+
    This file is part of GCC.
- 
+
    GCC is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
    by the Free Software Foundation; either version 3, or (at your
    option) any later version.
- 
+
    GCC is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
    License for more details.
- 
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING3.  If not see
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
 #define HAS_INIT_SECTION
diff --git a/gcc/config/bfin/rtems.h b/gcc/config/bfin/rtems.h
index 440e886ffff..f70573507dd 100644
--- a/gcc/config/bfin/rtems.h
+++ b/gcc/config/bfin/rtems.h
@@ -2,21 +2,26 @@ 
    Copyright (C) 2006-2017 Free Software Foundation, Inc.
    Contributed by Ralf Corsépius (ralf.corsepius@rtems.org).
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Target OS preprocessor built-ins.  */
 #define TARGET_OS_CPP_BUILTINS()		\
diff --git a/gcc/config/i386/rtemself.h b/gcc/config/i386/rtemself.h
index e8eade28a5c..03fecdabe29 100644
--- a/gcc/config/i386/rtemself.h
+++ b/gcc/config/i386/rtemself.h
@@ -2,21 +2,26 @@ 
    Copyright (C) 1996-2017 Free Software Foundation, Inc.
    Contributed by Joel Sherrill (joel@OARcorp.com).
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Specify predefined symbols in preprocessor.  */
 
diff --git a/gcc/config/lm32/rtems.h b/gcc/config/lm32/rtems.h
index 67075ab47da..a83ca214a3b 100644
--- a/gcc/config/lm32/rtems.h
+++ b/gcc/config/lm32/rtems.h
@@ -1,21 +1,26 @@ 
 /* Definitions for rtems targeting a lm32 using ELF.
    Copyright (C) 2009-2017 Free Software Foundation, Inc.
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Target OS builtins.  */
 #undef TARGET_OS_CPP_BUILTINS
diff --git a/gcc/config/m32c/rtems.h b/gcc/config/m32c/rtems.h
index 733e04ba386..f835d1afa62 100644
--- a/gcc/config/m32c/rtems.h
+++ b/gcc/config/m32c/rtems.h
@@ -2,21 +2,26 @@ 
    Copyright (C) 2008-2017 Free Software Foundation, Inc.
    Contributed by Joel Sherrill (joel@OARcorp.com).
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Target OS builtins.  */
 #undef TARGET_OS_CPP_BUILTINS
diff --git a/gcc/config/m68k/rtemself.h b/gcc/config/m68k/rtemself.h
index ee9d7fdf777..c9a1fe12ddf 100644
--- a/gcc/config/m68k/rtemself.h
+++ b/gcc/config/m68k/rtemself.h
@@ -3,21 +3,26 @@ 
    Copyright (C) 2007-2017 Free Software Foundation, Inc.
    Contributed by Charles-Antoine Gauthier (charles.gauthier@nrc.ca).
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 
 /* Target OS builtins.  */
diff --git a/gcc/config/microblaze/rtems.h b/gcc/config/microblaze/rtems.h
index 980d8e72e1e..b81553ed460 100644
--- a/gcc/config/microblaze/rtems.h
+++ b/gcc/config/microblaze/rtems.h
@@ -1,21 +1,26 @@ 
 /* Definitions for rtems targeting a microblaze using ELF.
    Copyright (C) 2012-2017 Free Software Foundation, Inc.
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Specify predefined symbols in preprocessor.  */
 
diff --git a/gcc/config/mips/rtems.h b/gcc/config/mips/rtems.h
index 2ce03de20e1..e263254f8ef 100644
--- a/gcc/config/mips/rtems.h
+++ b/gcc/config/mips/rtems.h
@@ -2,21 +2,26 @@ 
    Copyright (C) 1996-2017 Free Software Foundation, Inc.
    Contributed by Joel Sherrill (joel@OARcorp.com).
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Specify predefined symbols in preprocessor.  */
 
diff --git a/gcc/config/moxie/rtems.h b/gcc/config/moxie/rtems.h
index d23061bb6c2..59d4f2c6b11 100644
--- a/gcc/config/moxie/rtems.h
+++ b/gcc/config/moxie/rtems.h
@@ -2,21 +2,26 @@ 
    Copyright (C) 2010-2017 Free Software Foundation, Inc.
    Contributed by Anthony Green (green@moxielogic.com)
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Target OS preprocessor built-ins.  */
 #define TARGET_OS_CPP_BUILTINS()		\
diff --git a/gcc/config/nios2/rtems.h b/gcc/config/nios2/rtems.h
index 4e772175721..f675ee89b3b 100644
--- a/gcc/config/nios2/rtems.h
+++ b/gcc/config/nios2/rtems.h
@@ -3,21 +3,26 @@ 
 
    Contributed by Chris Johns (chrisj@rtems.org).
 
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   This file is part of GCC.
+
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Specify predefined symbols in preprocessor.  */
 #define TARGET_OS_CPP_BUILTINS()        \
diff --git a/gcc/config/powerpcspe/rtems.h b/gcc/config/powerpcspe/rtems.h
index 54a36de6eb4..1ab4e313fdb 100644
--- a/gcc/config/powerpcspe/rtems.h
+++ b/gcc/config/powerpcspe/rtems.h
@@ -14,8 +14,13 @@ 
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
    License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING3.  If not see
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
 /* Specify predefined symbols in preprocessor.  */
diff --git a/gcc/config/rs6000/rtems.h b/gcc/config/rs6000/rtems.h
index 47068ecffe2..306f0675e3d 100644
--- a/gcc/config/rs6000/rtems.h
+++ b/gcc/config/rs6000/rtems.h
@@ -14,8 +14,13 @@ 
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
    License for more details.
 
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING3.  If not see
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
 /* Copy and paste from linux64.h and freebsd64.h */
diff --git a/gcc/config/rtems.h b/gcc/config/rtems.h
index 306459ab1d1..8c109cc46c4 100644
--- a/gcc/config/rtems.h
+++ b/gcc/config/rtems.h
@@ -1,26 +1,26 @@ 
 /* Configuration common to all targets running RTEMS. 
    Copyright (C) 2000-2017 Free Software Foundation, Inc.
 
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
+   This file is part of GCC.
+
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* The system headers under RTEMS are C++-aware.  */
 #undef NO_IMPLICIT_EXTERN_C
diff --git a/gcc/config/sh/rtems.h b/gcc/config/sh/rtems.h
index 20a4d5ce27d..2b482740c66 100644
--- a/gcc/config/sh/rtems.h
+++ b/gcc/config/sh/rtems.h
@@ -2,21 +2,26 @@ 
    Copyright (C) 1997-2017 Free Software Foundation, Inc.
    Contributed by Joel Sherrill (joel@OARcorp.com).
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Specify predefined symbols in preprocessor.  */
 
diff --git a/gcc/config/sh/rtemself.h b/gcc/config/sh/rtemself.h
index c9b6b001cf7..643883035a9 100644
--- a/gcc/config/sh/rtemself.h
+++ b/gcc/config/sh/rtemself.h
@@ -2,21 +2,26 @@ 
    Copyright (C) 1997-2017 Free Software Foundation, Inc.
    Contributed by Joel Sherrill (joel@OARcorp.com).
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Specify predefined symbols in preprocessor.  */
 
diff --git a/gcc/config/sparc/rtemself.h b/gcc/config/sparc/rtemself.h
index 10eaa08fe4e..ce782a36441 100644
--- a/gcc/config/sparc/rtemself.h
+++ b/gcc/config/sparc/rtemself.h
@@ -2,21 +2,26 @@ 
    Copyright (C) 1996-2017 Free Software Foundation, Inc.
    Contributed by Joel Sherrill (joel@OARcorp.com).
 
-This file is part of GCC.
+   This file is part of GCC.
 
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
+   GCC is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   GCC is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
 
 /* Target OS builtins.  */
 #undef TARGET_OS_CPP_BUILTINS