diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-01-16 16:46:51 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-01-16 16:46:51 -0800 |
commit | d77a5ebe0c1683f4f95b11718df53f8b51fd2833 (patch) | |
tree | b665bf4c9da0ca133ef6261e4a7fc945c04b189a /contrib | |
parent | 69ac5e6150ff3db96156a17f93382f9ef9438611 (diff) | |
download | gcc-hjl/cet/master.tar.gz |
Add --enable-cet-propertyhjl/cet/master
CET is enabled by run-time loader only if all modules have CET property:
[hjl@gnu-tools-1 gcc]$ readelf -n crtbegin.o
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT, SHSTK
[hjl@gnu-tools-1 gcc]$
Linker will create CET property only if all input object files have CET
property. To create GCC run-time libraries with CET property, CET enabled
glibc must be used to build GCC. We can add --enable-cet-property to GCC,
which will pass "-z ibt -z shstk" to linker when creating target run-time
libraries. We only need it for libgcc and libstdc++, which are used to
build and test glibc.
config/
PR target/83910
* cet.m4 (GCC_CET_LDFLAGS): New to support
--enable-cet-property.
libgcc/
PR target/83910
* Makefile.in (CET_LDFLAGS): New.
* configure.ac (CET_LDFLAGS): New AC_SUBST.
* configure: Regenerated.
* config/i386/t-linux (SHLIB_LDFLAGS): Append $(CET_LDFLAGS).
libgcc/
PR target/83910
* configure.ac (CET_LDFLAGS): New AC_SUBST.
* configure: Regenerated.
* src/Makefile.am (CXXLINK): Add $(CET_LDFLAGS).
* src/Makefile.in: Regenerated.
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions