X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Femultempl%2Falphaelf.em;h=421219367cee2ef7653bcb4a46927daf6a0e9dfb;hb=29063f8bfb9d68a213efd1d0ab7a66f97ed9a013;hp=a36fc7d1c25f7c6e429b89b22a5f14ca9d850437;hpb=d1c109de72f880ea2a761fccb41f330672674fd9;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emultempl/alphaelf.em b/ld/emultempl/alphaelf.em index a36fc7d1c2..421219367c 100644 --- a/ld/emultempl/alphaelf.em +++ b/ld/emultempl/alphaelf.em @@ -1,5 +1,5 @@ # This shell script emits a C file. -*- C -*- -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2016 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -73,14 +73,16 @@ static void alpha_after_parse (void) { link_info.relax_pass = 2; - if (limit_32bit && !link_info.shared && !link_info.relocatable) + if (limit_32bit + && !bfd_link_pic (&link_info) + && !bfd_link_relocatable (&link_info)) lang_section_start (".interp", exp_binop ('+', exp_intop (ALPHA_TEXT_START_32BIT), exp_nameop (SIZEOF_HEADERS, NULL)), NULL); - after_parse_default (); + gld${EMULATION_NAME}_after_parse (); } static void @@ -90,7 +92,9 @@ alpha_before_allocation (void) gld${EMULATION_NAME}_before_allocation (); /* Add -relax if -O, not -r, and not explicitly disabled. */ - if (link_info.optimize && !link_info.relocatable && ! RELAXATION_DISABLED_BY_USER) + if (link_info.optimize + && !bfd_link_relocatable (&link_info) + && ! RELAXATION_DISABLED_BY_USER) ENABLE_RELAXATION; }