libphobos: Move rt.sections modules to gcc.sections
authorIain Buclaw <ibuclaw@gdcproject.org>
Sat, 13 Apr 2019 15:29:15 +0000 (15:29 +0000)
committerIain Buclaw <ibuclaw@gcc.gnu.org>
Sat, 13 Apr 2019 15:29:15 +0000 (15:29 +0000)
commit8b6518285b87fd282573fa5d7d6f7414d58dc96b
tree513a3346a5fe38d485ac1a2ca28fc7336fcf3e33
parent151c5c0b80a30ba4316c86fcd0a7bf232a4ff127
libphobos: Move rt.sections modules to gcc.sections

These modules depend on a mixture between how the compiler emits
run-time module information, and what functions are exposed by the
platform to inquire about loaded global and thread-local data sections.

As the upstream implementation is written to work only with how the
reference D compiler writes out data, much of what is present does not
apply to the GCC D front-end.  So it has been moved to a non-upstream
location in the source tree, where most of it will be rewritten once
each port has been completed.

The only tested module sections/elf_shared.d has been cleaned up so that
all deprecated declarations have been removed, as well as the brittle
module collision checking, which required bss_sections.c.  All other
ports have been left unchanged apart from a commonizing of attributes.

libphobos/ChangeLog:

2019-04-13  Iain Buclaw  <ibuclaw@gdcproject.org>

* libdruntime/Makefile.am (DRUNTIME_CSOURCES): Remove bss_sections.c.
(DRUNTIME_DSOURCES): Rename rt/sections_* modules to gcc/sections/*.
* libdruntime/Makefile.in: Regenerate.
* libdruntime/gcc/sections/android.d: New file.
* libdruntime/gcc/sections/elf_shared.d: New file.
* libdruntime/gcc/sections/osx.d: New file.
* libdruntime/gcc/sections/package.d: New file.
* libdruntime/gcc/sections/solaris.d: New file.
* libdruntime/gcc/sections/win32.d: New file.
* libdruntime/gcc/sections/win64.d: New file.
* libdruntime/rt/bss_section.c: Remove.
* libdruntime/rt/sections.d: Publicly import gcc.sections.
* libdruntime/rt/sections_android.d: Remove.
* libdruntime/rt/sections_elf_shared.d: Remove.
* libdruntime/rt/sections_osx.d: Remove.
* libdruntime/rt/sections_solaris.d: Remove.
* libdruntime/rt/sections_win32.d: Remove.
* libdruntime/rt/sections_win64.d: Remove.

From-SVN: r270341
18 files changed:
libphobos/ChangeLog
libphobos/libdruntime/Makefile.am
libphobos/libdruntime/Makefile.in
libphobos/libdruntime/gcc/sections/android.d [new file with mode: 0644]
libphobos/libdruntime/gcc/sections/elf_shared.d [new file with mode: 0644]
libphobos/libdruntime/gcc/sections/osx.d [new file with mode: 0644]
libphobos/libdruntime/gcc/sections/package.d [new file with mode: 0644]
libphobos/libdruntime/gcc/sections/solaris.d [new file with mode: 0644]
libphobos/libdruntime/gcc/sections/win32.d [new file with mode: 0644]
libphobos/libdruntime/gcc/sections/win64.d [new file with mode: 0644]
libphobos/libdruntime/rt/bss_section.c [deleted file]
libphobos/libdruntime/rt/sections.d
libphobos/libdruntime/rt/sections_android.d [deleted file]
libphobos/libdruntime/rt/sections_elf_shared.d [deleted file]
libphobos/libdruntime/rt/sections_osx.d [deleted file]
libphobos/libdruntime/rt/sections_solaris.d [deleted file]
libphobos/libdruntime/rt/sections_win32.d [deleted file]
libphobos/libdruntime/rt/sections_win64.d [deleted file]