diff options
author | Alan Modra <amodra@gmail.com> | 2015-08-19 12:32:54 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-08-19 12:53:54 +0930 |
commit | 64d94ba01a4f56ac10bb277e66bb00d82bd97f10 (patch) | |
tree | 62c874d41a10602671ff90819aef826e06ed57c5 /ld/plugin.c | |
parent | 3cbc1e5e68341e53a03fe7e9d38fc02e0d78c418 (diff) | |
download | gdb-64d94ba01a4f56ac10bb277e66bb00d82bd97f10.zip gdb-64d94ba01a4f56ac10bb277e66bb00d82bd97f10.tar.gz gdb-64d94ba01a4f56ac10bb277e66bb00d82bd97f10.tar.bz2 |
Remove link_info.pic
Adding type_pie to output_type allows us to remove link_info.pic and
with some reordering of the enum, produces better code.
include/
* bfdlink.h (enum output_type): Delete type_executable, add type_pde
and type_pie. Reorder.
(struct bfd_link_info): Delete pic field.
(bfd_link_executable, bfd_link_pde, bfd_link_pie, bfd_link_pic): Adjust.
ld/
* emultempl/aix.em: Don't set link_info.pic.
* emultempl/pe.em: Likewise.
* emultempl/pep.em: Likewise.
* emultempl/sunos.em: Likewise.
* lexsup.c (parse_args): Likewise. Set type_pie for -pie.
* plugin.c (set_tv_header <LDPT_LINKER_OUTPUT>): Simplify.
Diffstat (limited to 'ld/plugin.c')
-rw-r--r-- | ld/plugin.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/ld/plugin.c b/ld/plugin.c index 5f7bbd8..8e53255 100644 --- a/ld/plugin.c +++ b/ld/plugin.c @@ -872,11 +872,10 @@ set_tv_header (struct ld_plugin_tv *tv) TVU(val) = major * 100 + minor; break; case LDPT_LINKER_OUTPUT: - TVU(val) = (bfd_link_relocatable (&link_info) - ? LDPO_REL - : (bfd_link_executable (&link_info) - ? (bfd_link_pic (&link_info) ? LDPO_PIE : LDPO_EXEC) - : LDPO_DYN)); + TVU(val) = (bfd_link_relocatable (&link_info) ? LDPO_REL + : bfd_link_pde (&link_info) ? LDPO_EXEC + : bfd_link_pie (&link_info) ? LDPO_PIE + : LDPO_DYN); break; case LDPT_OUTPUT_NAME: TVU(string) = output_filename; |