Bug 61152 - Missing GCC Runtime Library Exception in some files that are included in libgcc
Summary: Missing GCC Runtime Library Exception in some files that are included in libgcc
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: libgcc (show other bugs)
Version: unknown
: P3 trivial
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-12 10:13 UTC by Georg-Johann Lay
Modified: 2022-11-20 02:21 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Georg-Johann Lay 2014-05-12 10:13:33 UTC
libgcc sources are not yet separated completey from the compiler, i.e. it includes tm.h which in turn will include files from the compiler backend like arm.h.

As such files go into libgcc, they should contain the GCC Runtime Library Exception (RLE) in their license headers.

I know that these files actually don't add executable code to libgcc and that the FSF is fine without RLE in these files, yet there are potential users of GCC that are very concerned about linking their code against libgcc and about the non-RLE files that are part of the libgcc sources: as soon as a single file that goes into libgcc (e.g. by include) is GPL but does not contain the RLE, they won't use GCC as a whole.

Thus, adding RLE to these files can greatly increase acceptance of GCC/libgcc.
Comment 1 Georg-Johann Lay 2014-05-27 08:41:55 UTC
Author: gjl
Date: Tue May 27 08:41:24 2014
New Revision: 210959

URL: http://gcc.gnu.org/viewcvs?rev=210959&root=gcc&view=rev
Log:
	PR libgcc/61152
	* config/arm/arm-opts.h (License): Add GCC Runtime Library Exception.
	* config/arm/arm-cores.def (License): Same.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm-cores.def
    trunk/gcc/config/arm/arm-opts.h
Comment 2 Georg-Johann Lay 2014-05-27 09:05:45 UTC
Author: gjl
Date: Tue May 27 09:05:12 2014
New Revision: 210960

URL: http://gcc.gnu.org/viewcvs?rev=210960&root=gcc&view=rev
Log:
gcc/
	Backport from 2014-05-12 mainline r210322.
	Backport from 2014-05-27 mainline r210959.
	PR libgcc/61152
	* config/arm/arm.h (License): Add GCC Runtime Library Exception.
	* config/arm/arm-cores.def (License): Same.
	* config/arm/arm-opts.h (License): Same.
	* config/arm/aout.h (License): Same.
	* config/arm/bpabi.h (License): Same.
	* config/arm/elf.h (License): Same.
	* config/arm/linux-elf.h (License): Same.
	* config/arm/linux-gas.h (License): Same.
	* config/arm/netbsd-elf.h (License): Same.
	* config/arm/uclinux-eabi.h (License): Same.
	* config/arm/uclinux-elf.h (License): Same.
	* config/arm/vxworks.h (License): Same.
libgcc/
	Backport from 2014-05-27 mainline r210322.
	PR libgcc/61152
	* config/arm/bpabi-lib.h (License): Add GCC Runtime Library Exception.


Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/config/arm/aout.h
    branches/gcc-4_9-branch/gcc/config/arm/arm-cores.def
    branches/gcc-4_9-branch/gcc/config/arm/arm-opts.h
    branches/gcc-4_9-branch/gcc/config/arm/arm.h
    branches/gcc-4_9-branch/gcc/config/arm/bpabi.h
    branches/gcc-4_9-branch/gcc/config/arm/elf.h
    branches/gcc-4_9-branch/gcc/config/arm/linux-elf.h
    branches/gcc-4_9-branch/gcc/config/arm/linux-gas.h
    branches/gcc-4_9-branch/gcc/config/arm/netbsd-elf.h
    branches/gcc-4_9-branch/gcc/config/arm/uclinux-eabi.h
    branches/gcc-4_9-branch/gcc/config/arm/uclinux-elf.h
    branches/gcc-4_9-branch/gcc/config/arm/vxworks.h
    branches/gcc-4_9-branch/libgcc/ChangeLog
    branches/gcc-4_9-branch/libgcc/config/arm/bpabi-lib.h
Comment 3 Georg-Johann Lay 2014-05-27 11:38:21 UTC
Author: gjl
Date: Tue May 27 11:37:49 2014
New Revision: 210969

URL: http://gcc.gnu.org/viewcvs?rev=210969&root=gcc&view=rev
Log:
	PR libgcc/61152
	* config/arm/arm.h (License): Add note to COPYING.RUNTIME.
	* config/arm/arm-cores.def (License): Same.
	* config/arm/arm-opts.h (License): Same.
	* config/arm/aout.h (License): Same.
	* config/arm/bpabi.h (License): Same.
	* config/arm/elf.h (License): Same.
	* config/arm/linux-elf.h (License): Same.
	* config/arm/linux-gas.h (License): Same.
	* config/arm/netbsd-elf.h (License): Same.
	* config/arm/uclinux-eabi.h (License): Same.
	* config/arm/uclinux-elf.h (License): Same.
	* config/arm/vxworks.h (License): Same.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/aout.h
    trunk/gcc/config/arm/arm-cores.def
    trunk/gcc/config/arm/arm-opts.h
    trunk/gcc/config/arm/arm.h
    trunk/gcc/config/arm/bpabi.h
    trunk/gcc/config/arm/elf.h
    trunk/gcc/config/arm/linux-elf.h
    trunk/gcc/config/arm/linux-gas.h
    trunk/gcc/config/arm/netbsd-elf.h
    trunk/gcc/config/arm/uclinux-eabi.h
    trunk/gcc/config/arm/uclinux-elf.h
    trunk/gcc/config/arm/vxworks.h
Comment 4 Georg-Johann Lay 2014-05-27 11:42:42 UTC
Author: gjl
Date: Tue May 27 11:42:10 2014
New Revision: 210971

URL: http://gcc.gnu.org/viewcvs?rev=210971&root=gcc&view=rev
Log:
	PR libgcc/61152
	* config/arm/arm.h (License): Add note to COPYING.RUNTIME.
	* config/arm/arm-cores.def (License): Same.
	* config/arm/arm-opts.h (License): Same.
	* config/arm/aout.h (License): Same.
	* config/arm/bpabi.h (License): Same.
	* config/arm/elf.h (License): Same.
	* config/arm/linux-elf.h (License): Same.
	* config/arm/linux-gas.h (License): Same.
	* config/arm/netbsd-elf.h (License): Same.
	* config/arm/uclinux-eabi.h (License): Same.
	* config/arm/uclinux-elf.h (License): Same.
	* config/arm/vxworks.h (License): Same.


Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/config/arm/aout.h
    branches/gcc-4_9-branch/gcc/config/arm/arm-cores.def
    branches/gcc-4_9-branch/gcc/config/arm/arm-opts.h
    branches/gcc-4_9-branch/gcc/config/arm/arm.h
    branches/gcc-4_9-branch/gcc/config/arm/bpabi.h
    branches/gcc-4_9-branch/gcc/config/arm/elf.h
    branches/gcc-4_9-branch/gcc/config/arm/linux-elf.h
    branches/gcc-4_9-branch/gcc/config/arm/linux-gas.h
    branches/gcc-4_9-branch/gcc/config/arm/netbsd-elf.h
    branches/gcc-4_9-branch/gcc/config/arm/uclinux-eabi.h
    branches/gcc-4_9-branch/gcc/config/arm/uclinux-elf.h
    branches/gcc-4_9-branch/gcc/config/arm/vxworks.h
Comment 5 Georg-Johann Lay 2014-05-28 09:33:36 UTC
Author: gjl
Date: Wed May 28 09:33:04 2014
New Revision: 211004

URL: http://gcc.gnu.org/viewcvs?rev=211004&root=gcc&view=rev
Log:
gcc/
	PR libgcc/61152
	* config/dbx.h (License): Add Runtime Library Exception.
	* config/newlib-stdint.h (License): Same.
	* config/rtems.h (License): Same
	* config/initfini-array.h (License): Same
	* config/v850/v850.h (License): Same.
	* config/v850/v850-opts.h (License): Same
	* config/v850/rtems.h (License): Same.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/dbx.h
    trunk/gcc/config/initfini-array.h
    trunk/gcc/config/newlib-stdint.h
    trunk/gcc/config/rtems.h
    trunk/gcc/config/v850/rtems.h
    trunk/gcc/config/v850/v850-opts.h
    trunk/gcc/config/v850/v850.h
Comment 6 Georg-Johann Lay 2014-05-28 09:35:51 UTC
Author: gjl
Date: Wed May 28 09:35:19 2014
New Revision: 211005

URL: http://gcc.gnu.org/viewcvs?rev=211005&root=gcc&view=rev
Log:
gcc/
	PR libgcc/61152
	* config/dbx.h (License): Add Runtime Library Exception.
	* config/newlib-stdint.h (License): Same.
	* config/rtems.h (License): Same
	* config/initfini-array.h (License): Same
	* config/v850/v850.h (License): Same.
	* config/v850/v850-opts.h (License): Same
	* config/v850/rtems.h (License): Same.


Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/config/dbx.h
    branches/gcc-4_9-branch/gcc/config/initfini-array.h
    branches/gcc-4_9-branch/gcc/config/newlib-stdint.h
    branches/gcc-4_9-branch/gcc/config/rtems.h
    branches/gcc-4_9-branch/gcc/config/v850/rtems.h
    branches/gcc-4_9-branch/gcc/config/v850/v850-opts.h
    branches/gcc-4_9-branch/gcc/config/v850/v850.h
Comment 7 sh 2017-07-25 10:06:55 UTC
Author: sh
Date: Tue Jul 25 10:06:23 2017
New Revision: 250500

URL: https://gcc.gnu.org/viewcvs?rev=250500&root=gcc&view=rev
Log:
[RTEMS] Add GCC Runtime Library Exception

gcc/

	PR libgcc/61152
	* config/aarch64/rtems.h: Add GCC Runtime Library Exception.
	Format changes.
	* config/arm/rtems.h: Likewise.
	* config/bfin/rtems.h: Likewise.
	* config/i386/rtemself.h: Likewise.
	* config/lm32/rtems.h: Likewise.
	* config/m32c/rtems.h: Likewise.
	* config/m68k/rtemself.h: Likewise.
	* config/microblaze/rtems.h: Likewise.
	* config/mips/rtems.h: Likewise.
	* config/moxie/rtems.h: Likewise.
	* config/nios2/rtems.h: Likewise.
	* config/powerpcspe/rtems.h: Likewise.
	* config/rs6000/rtems.h: Likewise.
	* config/rtems.h: Likewise.
	* config/sh/rtems.h: Likewise.
	* config/sh/rtemself.h: Likewise.
	* config/sparc/rtemself.h: Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/aarch64/rtems.h
    trunk/gcc/config/arm/rtems.h
    trunk/gcc/config/bfin/rtems.h
    trunk/gcc/config/i386/rtemself.h
    trunk/gcc/config/lm32/rtems.h
    trunk/gcc/config/m32c/rtems.h
    trunk/gcc/config/m68k/rtemself.h
    trunk/gcc/config/microblaze/rtems.h
    trunk/gcc/config/mips/rtems.h
    trunk/gcc/config/moxie/rtems.h
    trunk/gcc/config/nios2/rtems.h
    trunk/gcc/config/powerpcspe/rtems.h
    trunk/gcc/config/rs6000/rtems.h
    trunk/gcc/config/rtems.h
    trunk/gcc/config/sh/rtems.h
    trunk/gcc/config/sh/rtemself.h
    trunk/gcc/config/sparc/rtemself.h
    trunk/gcc/config/v850/rtems.h
Comment 8 sh 2017-07-26 08:31:42 UTC
Author: sh
Date: Wed Jul 26 08:31:09 2017
New Revision: 250558

URL: https://gcc.gnu.org/viewcvs?rev=250558&root=gcc&view=rev
Log:
[RTEMS] Add GCC Runtime Library Exception

gcc/
	PR libgcc/61152
	* config/aarch64/rtems.h: Add GCC Runtime Library Exception.
	Format changes.
	* config/arm/rtems.h: Likewise.
	* config/bfin/rtems.h: Likewise.
	* config/i386/rtemself.h: Likewise.
	* config/lm32/rtems.h: Likewise.
	* config/m32c/rtems.h: Likewise.
	* config/m68k/rtemself.h: Likewise.
	* config/microblaze/rtems.h: Likewise.
	* config/mips/rtems.h: Likewise.
	* config/moxie/rtems.h: Likewise.
	* config/nios2/rtems.h: Likewise.
	* config/rs6000/rtems.h: Likewise.
	* config/rtems.h: Likewise.
	* config/sh/rtems.h: Likewise.
	* config/sh/rtemself.h: Likewise.
	* config/sparc/rtemself.h: Likewise.


Modified:
    branches/gcc-7-branch/gcc/ChangeLog
    branches/gcc-7-branch/gcc/config/aarch64/rtems.h
    branches/gcc-7-branch/gcc/config/arm/rtems.h
    branches/gcc-7-branch/gcc/config/bfin/rtems.h
    branches/gcc-7-branch/gcc/config/i386/rtemself.h
    branches/gcc-7-branch/gcc/config/lm32/rtems.h
    branches/gcc-7-branch/gcc/config/m32c/rtems.h
    branches/gcc-7-branch/gcc/config/m68k/rtemself.h
    branches/gcc-7-branch/gcc/config/microblaze/rtems.h
    branches/gcc-7-branch/gcc/config/mips/rtems.h
    branches/gcc-7-branch/gcc/config/moxie/rtems.h
    branches/gcc-7-branch/gcc/config/nios2/rtems.h
    branches/gcc-7-branch/gcc/config/rs6000/rtems.h
    branches/gcc-7-branch/gcc/config/rtems.h
    branches/gcc-7-branch/gcc/config/sh/rtems.h
    branches/gcc-7-branch/gcc/config/sh/rtemself.h
    branches/gcc-7-branch/gcc/config/sparc/rtemself.h
    branches/gcc-7-branch/gcc/config/v850/rtems.h
Comment 9 Eric Gallager 2018-04-13 10:00:20 UTC
There have been a bunch of commits for this bug; is it fixed yet?
Comment 10 Georg-Johann Lay 2018-04-14 10:31:27 UTC
(In reply to Eric Gallager from comment #9)
> There have been a bunch of commits for this bug; is it fixed yet?

Dunno, back then I focused only on two targets, namely ARM and V850.  Neither did I perform a global review, nor do I know whether in the meantime (4 years now) more headers and files slipped in.
Comment 11 Martin Liška 2018-11-19 13:06:55 UTC
Can the bug be marked as resolved?
Comment 12 Eric Gallager 2019-02-19 17:41:37 UTC
(In reply to Martin Liška from comment #11)
> Can the bug be marked as resolved?

I don't think so:

(In reply to Georg-Johann Lay from comment #10)
> (In reply to Eric Gallager from comment #9)
> > There have been a bunch of commits for this bug; is it fixed yet?
> 
> Dunno, back then I focused only on two targets, namely ARM and V850. 
> Neither did I perform a global review, nor do I know whether in the meantime
> (4 years now) more headers and files slipped in.
Comment 13 Jeffrey A. Law 2022-11-20 02:17:28 UTC
More importantly, we should _not_ be adding the runtime exception to files in GCC proper.  That exception is for the runtime.  The fact that files in libgcc are #including tm.h and thus backend files from gcc proper is not a good reason to be changing those copyrights.
Comment 14 Andrew Pinski 2022-11-20 02:21:56 UTC
(In reply to Jeffrey A. Law from comment #13)
> More importantly, we should _not_ be adding the runtime exception to files
> in GCC proper.  That exception is for the runtime.  The fact that files in
> libgcc are #including tm.h and thus backend files from gcc proper is not a
> good reason to be changing those copyrights.

I really should finish up the removal of the tm.h includes from libobjc too. I had a patch set years ago but I dropped it, i cant remember if it was pre-svn or post svb. Maybe it is still in git somewhere.