[PATCH] gold: Set DF_1_PIE for -pie

PR gold/26039
	* layout.cc (Layout::finish_dynamic_section): Set DF_1_PIE.

	elfcpp/
	* elfcpp.h (enum DF_1): New enum member DF_1_PIE.
This commit is contained in:
Fangrui Song
2020-06-18 10:46:18 +01:00
committed by Nick Clifton
parent 581bea2c99
commit 9a17a13643
4 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2020-06-18 Fangrui Song <i@maskray.me>
PR gold/26039
* elfcpp.h (enum DF_1): New enum member DF_1_PIE.
2020-06-06 Alan Modra <amodra@gmail.com> 2020-06-06 Alan Modra <amodra@gmail.com>
* powerpc.h: Rename * powerpc.h: Rename

View File

@ -913,7 +913,8 @@ enum DF_1
DF_1_INTERPOSE = 0x400, DF_1_INTERPOSE = 0x400,
DF_1_NODEFLIB = 0x800, DF_1_NODEFLIB = 0x800,
DF_1_NODUMP = 0x1000, DF_1_NODUMP = 0x1000,
DF_1_CONLFAT = 0x2000 DF_1_CONLFAT = 0x2000,
DF_1_PIE = 0x08000000
}; };
// Version numbers which appear in the vd_version field of a Verdef // Version numbers which appear in the vd_version field of a Verdef

View File

@ -1,3 +1,8 @@
2020-06-18 Fangrui Song <i@maskray.me>
PR gold/26039
* layout.cc (Layout::finish_dynamic_section): Set DF_1_PIE.
2020-06-16 Alan Modra <amodra@gmail.com> 2020-06-16 Alan Modra <amodra@gmail.com>
* testsuite/discard_locals_test.c: Replace uses of asm with __asm__. * testsuite/discard_locals_test.c: Replace uses of asm with __asm__.

View File

@ -5352,6 +5352,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
flags |= elfcpp::DF_1_NOW; flags |= elfcpp::DF_1_NOW;
if (parameters->options().Bgroup()) if (parameters->options().Bgroup())
flags |= elfcpp::DF_1_GROUP; flags |= elfcpp::DF_1_GROUP;
if (parameters->options().pie())
flags |= elfcpp::DF_1_PIE;
if (flags != 0) if (flags != 0)
odyn->add_constant(elfcpp::DT_FLAGS_1, flags); odyn->add_constant(elfcpp::DT_FLAGS_1, flags);
} }