2016-04-15 23:20:02 +00:00
|
|
|
# Makefile.in generated by automake 1.11.6 from Makefile.am.
|
2006-08-04 23:10:59 +00:00
|
|
|
# @configure_input@
|
|
|
|
|
|
|
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
2016-04-15 23:20:02 +00:00
|
|
|
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
|
|
|
|
# Foundation, Inc.
|
2006-08-04 23:10:59 +00:00
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
|
|
# PARTICULAR PURPOSE.
|
|
|
|
|
|
|
|
@SET_MAKE@
|
|
|
|
|
2012-12-17 16:56:12 +00:00
|
|
|
#
|
2016-01-01 11:25:12 +00:00
|
|
|
# Copyright (C) 2006-2016 Free Software Foundation, Inc.
|
2012-12-17 16:56:12 +00:00
|
|
|
#
|
|
|
|
# This file is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
|
|
# (at your option) any later version.
|
2013-12-10 22:01:01 +00:00
|
|
|
#
|
2012-12-17 16:56:12 +00:00
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
2013-12-10 22:01:01 +00:00
|
|
|
#
|
2012-12-17 16:56:12 +00:00
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; see the file COPYING3. If not see
|
|
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
#
|
2006-08-04 23:10:59 +00:00
|
|
|
|
2006-11-30 23:52:50 +00:00
|
|
|
|
2006-08-04 23:10:59 +00:00
|
|
|
VPATH = @srcdir@
|
2016-04-15 23:20:02 +00:00
|
|
|
am__make_dryrun = \
|
|
|
|
{ \
|
|
|
|
am__dry=no; \
|
|
|
|
case $$MAKEFLAGS in \
|
|
|
|
*\\[\ \ ]*) \
|
|
|
|
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
|
|
|
|
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
|
|
|
|
*) \
|
|
|
|
for am__flg in $$MAKEFLAGS; do \
|
|
|
|
case $$am__flg in \
|
|
|
|
*=*|--*) ;; \
|
|
|
|
*n*) am__dry=yes; break;; \
|
|
|
|
esac; \
|
|
|
|
done;; \
|
|
|
|
esac; \
|
|
|
|
test $$am__dry = yes; \
|
|
|
|
}
|
2006-08-04 23:10:59 +00:00
|
|
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
|
|
pkgincludedir = $(includedir)/@PACKAGE@
|
2009-08-22 16:56:56 +00:00
|
|
|
pkglibdir = $(libdir)/@PACKAGE@
|
|
|
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
2006-08-04 23:10:59 +00:00
|
|
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|
|
|
install_sh_DATA = $(install_sh) -c -m 644
|
|
|
|
install_sh_PROGRAM = $(install_sh) -c
|
|
|
|
install_sh_SCRIPT = $(install_sh) -c
|
|
|
|
INSTALL_HEADER = $(INSTALL_DATA)
|
|
|
|
transform = $(program_transform_name)
|
|
|
|
NORMAL_INSTALL = :
|
|
|
|
PRE_INSTALL = :
|
|
|
|
POST_INSTALL = :
|
|
|
|
NORMAL_UNINSTALL = :
|
|
|
|
PRE_UNINSTALL = :
|
|
|
|
POST_UNINSTALL = :
|
|
|
|
build_triplet = @build@
|
|
|
|
host_triplet = @host@
|
|
|
|
target_triplet = @target@
|
2012-10-24 02:26:39 +00:00
|
|
|
bin_PROGRAMS = dwp$(EXEEXT)
|
2009-11-25 00:10:05 +00:00
|
|
|
noinst_PROGRAMS = ld-new$(EXEEXT) incremental-dump$(EXEEXT)
|
2007-09-22 20:11:12 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@check_PROGRAMS = ld1$(EXEEXT) \
|
2008-02-06 19:32:32 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ ld2$(EXEEXT) ld1-r$(EXEEXT) \
|
2013-04-26 21:38:57 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ ld2-r$(EXEEXT) ld4$(EXEEXT) \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__EXEEXT_1)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_1 = -Wl,--thread-count=3
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_2 = -Wl,--thread-count=3
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_3 = -Wl,--thread-count=13
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_4 = -Wl,--thread-count=3
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_5 = ld3
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__append_6 = bootstrap-test-treehash-chunksize
|
2009-08-22 16:56:56 +00:00
|
|
|
subdir = .
|
2010-04-07 21:08:01 +00:00
|
|
|
DIST_COMMON = NEWS README ChangeLog $(srcdir)/Makefile.in \
|
|
|
|
$(srcdir)/Makefile.am $(top_srcdir)/configure \
|
|
|
|
$(am__configure_deps) $(srcdir)/config.in \
|
2016-04-15 23:20:02 +00:00
|
|
|
$(srcdir)/../mkinstalldirs $(top_srcdir)/po/Make-in \
|
|
|
|
ftruncate.c pread.c mremap.c ffsll.c yyscript.h yyscript.c \
|
2010-04-07 21:08:01 +00:00
|
|
|
$(srcdir)/../depcomp $(srcdir)/../ylwrap
|
2006-08-04 23:10:59 +00:00
|
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
|
|
am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
|
2008-04-16 18:55:15 +00:00
|
|
|
$(top_srcdir)/../config/gettext-sister.m4 \
|
* configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
* configure: Regenerate.
gold/
* nacl.cc: New file.
* nacl.h: New file.
* Makefile.am (CCFILES, HFILES): Add them.
* Makefile.in: Regenerate.
* i386.cc (Output_data_plt_i386_nacl): New class.
(Output_data_plt_i386_nacl_exec): New class.
(Output_data_plt_i386_nacl_dyn): New class.
(Target_i386_nacl): New class.
(Target_selector_i386_nacl): New class.
(target_selector_i386): Use it instead of Target_selector_i386.
* x86_64.cc (Output_data_plt_x86_64_nacl): New class.
(Target_x86_64_nacl): New class.
(Target_selector_x86_64_nacl): New class.
(target_selector_x86_64, target_selector_x32): Use it instead of
Target_selector_x86_64.
* arm.cc (Output_data_plt_arm_nacl): New class.
(Target_arm_nacl): New class.
(Target_selector_arm_nacl): New class.
(target_selector_arm, target_selector_armbe): Use it instead of
Target_selector_arm.
* target-select.cc (select_target): Take new Input_file* and off_t
arguments, pass them on to recognize method of selector.
* object.cc (make_elf_sized_object): Update caller.
* parameters.cc (parameters_force_valid_target): Likewise.
* incremental.cc (make_sized_incremental_binary): Likewise.
* target-select.h: Update decl.
(Target_selector::recognize): Take new Input_file* argument,
pass it on to do_recognize.
(Target_selector::do_recognize): Take new Input_file* argument.
* freebsd.h (Target_selector_freebsd::do_recognize): Likewise.
* powerpc.cc (Target_selector_powerpc::do_recognize): Likewise.
* sparc.cc (Target_selector_sparc::do_recognize): Likewise.
* testsuite/testfile.cc (Target_selector::do_recognize): Likewise.
* target.h (Target::Target_info): New members isolate_execinstr
and rosegment_gap.
(Target::isolate_execinstr, Target::rosegment_gap): New methods.
* arm.cc (Target_arm::arm_info): Update initializer.
* i386.cc (Target_i386::i386_info): Likewise.
* powerpc.cc (Target_powerpc::powerpc_info): Likewise.
* sparc.cc (Target_sparc::sparc_info): Likewise.
* x86_64.cc (Target_x86_64::x86_64_info): Likewise.
* testsuite/testfile.cc (Target_test::test_target_info): Likewise.
* layout.cc (Layout::attach_allocated_section_to_segment):
Take new const Target* argument. If target->isolate_execinstr(), act
like --rosegment.
(Layout::find_first_load_seg): Take new const Target* argument;
if target->isolate_execinstr(), reject PF_X segments.
(Layout::relaxation_loop_body): Update caller.
(Layout::set_segment_offsets): If target->isolate_execinstr(),
reset file offset to zero when we hit LOAD_SEG, and then do a second
loop over the segments before LOAD_SEG to reassign offsets after
addresses have been determined. Handle target->rosegment_gap().
(Layout::attach_section_to_segment): Take new const Target* argument;
pass it to attach_allocated_section_to_segment.
(Layout::make_output_section): Update caller.
(Layout::attach_sections_to_segments): Take new const Target* argument;
pass it to attach_section_to_segment.
* gold.cc (queue_middle_tasks): Update caller.
* layout.h (Layout): Update method decls with new arguments.
* arm.cc (Target_arm::Target_arm): Take optional argument for the
Target_info pointer to use.
(Target_arm::do_make_data_plt): New virtual method.
(Target_arm::make_data_plt): New method that calls it.
(Target_arm::make_plt_entry): Use it.
(Output_data_plt_arm::Output_data_plt_arm): Take additional argument
for the section alignment.
(Output_data_plt_arm::do_first_plt_entry_offset): New abstract virtual
method.
(Output_data_plt_arm::first_plt_entry_offset): Call it.
(Output_data_plt_arm::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_arm::get_plt_entry_size): Call it.
(Output_data_plt_arm::do_fill_plt_entry): New abstract virtual method.
(Output_data_plt_arm::fill_plt_entry): New method that calls it.
(Output_data_plt_arm::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_arm::fill_first_plt_entry): New method that calls it.
(Output_data_plt_arm::set_final_data_size): Use get_plt_entry_size
method instead of sizeof(plt_entry).
(Output_data_plt_arm::add_entry): Likewise.
Use first_plt_entry_offset method instead of sizeof(first_plt_entry).
(Target_arm::first_plt_entry_offset): Call method on this->plt_ rather
than static method.
(Target_arm::plt_entry_size): Likewise.
(Output_data_plt_arm::first_plt_entry, Output_data_plt_arm::plt_entry):
Move to ...
(Output_data_plt_arm_standard): ... here, new class.
(Output_data_plt_arm::do_write): Move guts of PLT filling to...
(Output_data_plt_arm_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_arm_standard::do_fill_plt_entry): ... and here.
* x86_64.cc (Output_data_plt_x86_64::Output_data_plt_x86_64):
Take additional argument for the PLT entry size.
(Output_data_plt_x86_64::get_tlsdesc_plt_offset):
Use get_plt_entry_size method rather than plt_entry_size variable.
(Output_data_plt_x86_64::reserve_slot): Likewise.
(Output_data_plt_x86_64::do_adjust_output_section): Likewise.
(Output_data_plt_x86_64::add_entry): Likewise.
(Output_data_plt_x86_64::add_local_ifunc_entry): Likewise.
(Output_data_plt_x86_64::address_for_global): Likewise.
(Output_data_plt_x86_64::address_for_local): Likewise.
(Output_data_plt_x86_64::set_final_data_size): Likewise.
(Output_data_plt_x86_64::first_plt_entry_offset): Likewise.
Make method non-static.
(Output_data_plt_x86_64::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_x86_64::get_plt_entry_size): Just call that.
(Output_data_plt_x86_64::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_x86_64::add_eh_frame): New method to call it.
(Output_data_plt_x86_64::do_fill_first_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_first_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_tlsdesc_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_tlsdesc_entry): New method to call it.
(Output_data_plt_x86_64::plt_entry_size)
(Output_data_plt_x86_64::first_plt_entry)
(Output_data_plt_x86_64::plt_entry)
(Output_data_plt_x86_64::tlsdesc_plt_entry)
(Output_data_plt_x86_64::plt_eh_frame_fde_size)
(Output_data_plt_x86_64::plt_eh_frame_fde): Move to ...
(Output_data_plt_x86_64_standard): ... here, new class.
(Target_x86_64::Target_x86_64): Take optional argument for the
Target_info pointer to use.
(Target_x86_64::do_make_data_plt): New virtual method.
(Target_x86_64::make_data_plt): New method to call it.
(Target_x86_64::init_got_plt_for_update): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_x86_64::init): Don't do add_eh_frame_for_plt here.
(Target_x86_64::first_plt_entry_offset): Call method on this->plt_
rather than static method.
(Target_x86_64::plt_entry_size): Likewise.
(Output_data_plt_x86_64::do_write): Use get_plt_entry_size method
rather than plt_entry_size variable. Move guts of PLT filling to...
(Output_data_plt_x86_64_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_x86_64_standard::do_fill_plt_entry): ... and here ...
(Output_data_plt_x86_64_standard::do_fill_tlsdesc_entry): ... and here.
* i386.cc (Output_data_plt_i386::Output_data_plt_i386): Take
additional argument for the section alignment.
Don't do add_eh_frame_for_plt here.
(Output_data_plt_i386::first_plt_entry_offset): Make the method
non-static. Use get_plt_entry_size method rather than plt_entry_size
variable.
(Output_data_plt_i386::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_i386::get_plt_entry_size): Call it.
(Output_data_plt_i386::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_i386::add_eh_frame): New method to call it.
(Output_data_plt_i386::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_first_plt_entry): New method to call it.
(Output_data_plt_i386::do_fill_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_plt_entry): New method to call it.
(Output_data_plt_i386::set_final_data_size): Use get_plt_entry_size
method instead of plt_entry_size.
(Output_data_plt_i386::plt_entry_size)
(Output_data_plt_i386::plt_eh_frame_fde_size)
(Output_data_plt_i386::plt_eh_frame_fde): Move to ...
(Output_data_plt_i386_standard): ... here, new class.
(Output_data_plt_i386_exec): New class.
(Output_data_plt_i386::exec_first_plt_entry): Move to ...
(Output_data_plt_i386_exec::first_plt_entry): ... here.
(Output_data_plt_i386::exec_plt_entry): Move to ...
(Output_data_plt_i386_exec::plt_entry): ... here.
(Output_data_plt_i386_dyn): New class.
(Output_data_plt_i386::first_plt_entry): Move to ...
(Output_data_plt_i386_dyn::first_plt_entry): ... here.
(Output_data_plt_i386::dyn_plt_entry): Move to ...
(Output_data_plt_i386_dyn::plt_entry): ... here.
(Target_i386::Target_i386): Take optional argument for the Target_info
pointer to use.
(Target_i386::do_make_data_plt): New virtual method.
(Target_i386::make_data_plt): New method to call it.
(Target_i386::make_plt_section): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_i386::add_entry): Use get_plt_entry_size method
rather than plt_entry_size variable.
(Output_data_plt_i386::add_local_ifunc_entry): Likewise.
(Output_data_plt_i386::address_for_local): Likewise.
(Output_data_plt_i386::do_write): Likewise.
Move guts of PLT filling to...
(Output_data_plt_i386_exec::do_fill_first_plt_entry): ... here ...
(Output_data_plt_i386_exec::do_fill_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_first_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_plt_entry): ... and here.
Change-Id: Id24b95600489835ff5e860a39c147203d4380c2b
2012-05-02 21:37:24 +00:00
|
|
|
$(top_srcdir)/../config/lcmessage.m4 \
|
2006-08-04 23:10:59 +00:00
|
|
|
$(top_srcdir)/../config/lead-dot.m4 \
|
2008-05-06 22:24:26 +00:00
|
|
|
$(top_srcdir)/../config/nls.m4 \
|
|
|
|
$(top_srcdir)/../config/override.m4 \
|
|
|
|
$(top_srcdir)/../config/po.m4 \
|
2006-11-03 18:26:11 +00:00
|
|
|
$(top_srcdir)/../config/progtest.m4 \
|
2012-12-07 04:28:52 +00:00
|
|
|
$(top_srcdir)/../config/zlib.m4 \
|
2006-08-04 23:10:59 +00:00
|
|
|
$(top_srcdir)/../bfd/warning.m4 $(top_srcdir)/configure.ac
|
|
|
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
|
|
$(ACLOCAL_M4)
|
|
|
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
2009-08-22 16:56:56 +00:00
|
|
|
configure.lineno config.status.lineno
|
2006-08-04 23:10:59 +00:00
|
|
|
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
|
|
|
|
CONFIG_HEADER = config.h
|
|
|
|
CONFIG_CLEAN_FILES = po/Makefile.in
|
2009-08-22 16:56:56 +00:00
|
|
|
CONFIG_CLEAN_VPATH_FILES =
|
2006-11-30 23:52:50 +00:00
|
|
|
LIBRARIES = $(noinst_LIBRARIES)
|
|
|
|
AR = ar
|
|
|
|
ARFLAGS = cru
|
|
|
|
libgold_a_AR = $(AR) $(ARFLAGS)
|
2009-08-22 16:56:56 +00:00
|
|
|
libgold_a_DEPENDENCIES = $(LIBOBJS)
|
2009-12-09 03:02:28 +00:00
|
|
|
am__objects_1 = archive.$(OBJEXT) attributes.$(OBJEXT) \
|
|
|
|
binary.$(OBJEXT) common.$(OBJEXT) compressed_output.$(OBJEXT) \
|
|
|
|
copy-relocs.$(OBJEXT) cref.$(OBJEXT) defstd.$(OBJEXT) \
|
|
|
|
descriptors.$(OBJEXT) dirsearch.$(OBJEXT) dynobj.$(OBJEXT) \
|
|
|
|
dwarf_reader.$(OBJEXT) ehframe.$(OBJEXT) errors.$(OBJEXT) \
|
|
|
|
expression.$(OBJEXT) fileread.$(OBJEXT) gc.$(OBJEXT) \
|
2012-03-21 19:02:22 +00:00
|
|
|
gdb-index.$(OBJEXT) gold.$(OBJEXT) gold-threads.$(OBJEXT) \
|
|
|
|
icf.$(OBJEXT) incremental.$(OBJEXT) int_encoding.$(OBJEXT) \
|
|
|
|
layout.$(OBJEXT) mapfile.$(OBJEXT) merge.$(OBJEXT) \
|
* configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
* configure: Regenerate.
gold/
* nacl.cc: New file.
* nacl.h: New file.
* Makefile.am (CCFILES, HFILES): Add them.
* Makefile.in: Regenerate.
* i386.cc (Output_data_plt_i386_nacl): New class.
(Output_data_plt_i386_nacl_exec): New class.
(Output_data_plt_i386_nacl_dyn): New class.
(Target_i386_nacl): New class.
(Target_selector_i386_nacl): New class.
(target_selector_i386): Use it instead of Target_selector_i386.
* x86_64.cc (Output_data_plt_x86_64_nacl): New class.
(Target_x86_64_nacl): New class.
(Target_selector_x86_64_nacl): New class.
(target_selector_x86_64, target_selector_x32): Use it instead of
Target_selector_x86_64.
* arm.cc (Output_data_plt_arm_nacl): New class.
(Target_arm_nacl): New class.
(Target_selector_arm_nacl): New class.
(target_selector_arm, target_selector_armbe): Use it instead of
Target_selector_arm.
* target-select.cc (select_target): Take new Input_file* and off_t
arguments, pass them on to recognize method of selector.
* object.cc (make_elf_sized_object): Update caller.
* parameters.cc (parameters_force_valid_target): Likewise.
* incremental.cc (make_sized_incremental_binary): Likewise.
* target-select.h: Update decl.
(Target_selector::recognize): Take new Input_file* argument,
pass it on to do_recognize.
(Target_selector::do_recognize): Take new Input_file* argument.
* freebsd.h (Target_selector_freebsd::do_recognize): Likewise.
* powerpc.cc (Target_selector_powerpc::do_recognize): Likewise.
* sparc.cc (Target_selector_sparc::do_recognize): Likewise.
* testsuite/testfile.cc (Target_selector::do_recognize): Likewise.
* target.h (Target::Target_info): New members isolate_execinstr
and rosegment_gap.
(Target::isolate_execinstr, Target::rosegment_gap): New methods.
* arm.cc (Target_arm::arm_info): Update initializer.
* i386.cc (Target_i386::i386_info): Likewise.
* powerpc.cc (Target_powerpc::powerpc_info): Likewise.
* sparc.cc (Target_sparc::sparc_info): Likewise.
* x86_64.cc (Target_x86_64::x86_64_info): Likewise.
* testsuite/testfile.cc (Target_test::test_target_info): Likewise.
* layout.cc (Layout::attach_allocated_section_to_segment):
Take new const Target* argument. If target->isolate_execinstr(), act
like --rosegment.
(Layout::find_first_load_seg): Take new const Target* argument;
if target->isolate_execinstr(), reject PF_X segments.
(Layout::relaxation_loop_body): Update caller.
(Layout::set_segment_offsets): If target->isolate_execinstr(),
reset file offset to zero when we hit LOAD_SEG, and then do a second
loop over the segments before LOAD_SEG to reassign offsets after
addresses have been determined. Handle target->rosegment_gap().
(Layout::attach_section_to_segment): Take new const Target* argument;
pass it to attach_allocated_section_to_segment.
(Layout::make_output_section): Update caller.
(Layout::attach_sections_to_segments): Take new const Target* argument;
pass it to attach_section_to_segment.
* gold.cc (queue_middle_tasks): Update caller.
* layout.h (Layout): Update method decls with new arguments.
* arm.cc (Target_arm::Target_arm): Take optional argument for the
Target_info pointer to use.
(Target_arm::do_make_data_plt): New virtual method.
(Target_arm::make_data_plt): New method that calls it.
(Target_arm::make_plt_entry): Use it.
(Output_data_plt_arm::Output_data_plt_arm): Take additional argument
for the section alignment.
(Output_data_plt_arm::do_first_plt_entry_offset): New abstract virtual
method.
(Output_data_plt_arm::first_plt_entry_offset): Call it.
(Output_data_plt_arm::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_arm::get_plt_entry_size): Call it.
(Output_data_plt_arm::do_fill_plt_entry): New abstract virtual method.
(Output_data_plt_arm::fill_plt_entry): New method that calls it.
(Output_data_plt_arm::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_arm::fill_first_plt_entry): New method that calls it.
(Output_data_plt_arm::set_final_data_size): Use get_plt_entry_size
method instead of sizeof(plt_entry).
(Output_data_plt_arm::add_entry): Likewise.
Use first_plt_entry_offset method instead of sizeof(first_plt_entry).
(Target_arm::first_plt_entry_offset): Call method on this->plt_ rather
than static method.
(Target_arm::plt_entry_size): Likewise.
(Output_data_plt_arm::first_plt_entry, Output_data_plt_arm::plt_entry):
Move to ...
(Output_data_plt_arm_standard): ... here, new class.
(Output_data_plt_arm::do_write): Move guts of PLT filling to...
(Output_data_plt_arm_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_arm_standard::do_fill_plt_entry): ... and here.
* x86_64.cc (Output_data_plt_x86_64::Output_data_plt_x86_64):
Take additional argument for the PLT entry size.
(Output_data_plt_x86_64::get_tlsdesc_plt_offset):
Use get_plt_entry_size method rather than plt_entry_size variable.
(Output_data_plt_x86_64::reserve_slot): Likewise.
(Output_data_plt_x86_64::do_adjust_output_section): Likewise.
(Output_data_plt_x86_64::add_entry): Likewise.
(Output_data_plt_x86_64::add_local_ifunc_entry): Likewise.
(Output_data_plt_x86_64::address_for_global): Likewise.
(Output_data_plt_x86_64::address_for_local): Likewise.
(Output_data_plt_x86_64::set_final_data_size): Likewise.
(Output_data_plt_x86_64::first_plt_entry_offset): Likewise.
Make method non-static.
(Output_data_plt_x86_64::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_x86_64::get_plt_entry_size): Just call that.
(Output_data_plt_x86_64::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_x86_64::add_eh_frame): New method to call it.
(Output_data_plt_x86_64::do_fill_first_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_first_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_tlsdesc_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_tlsdesc_entry): New method to call it.
(Output_data_plt_x86_64::plt_entry_size)
(Output_data_plt_x86_64::first_plt_entry)
(Output_data_plt_x86_64::plt_entry)
(Output_data_plt_x86_64::tlsdesc_plt_entry)
(Output_data_plt_x86_64::plt_eh_frame_fde_size)
(Output_data_plt_x86_64::plt_eh_frame_fde): Move to ...
(Output_data_plt_x86_64_standard): ... here, new class.
(Target_x86_64::Target_x86_64): Take optional argument for the
Target_info pointer to use.
(Target_x86_64::do_make_data_plt): New virtual method.
(Target_x86_64::make_data_plt): New method to call it.
(Target_x86_64::init_got_plt_for_update): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_x86_64::init): Don't do add_eh_frame_for_plt here.
(Target_x86_64::first_plt_entry_offset): Call method on this->plt_
rather than static method.
(Target_x86_64::plt_entry_size): Likewise.
(Output_data_plt_x86_64::do_write): Use get_plt_entry_size method
rather than plt_entry_size variable. Move guts of PLT filling to...
(Output_data_plt_x86_64_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_x86_64_standard::do_fill_plt_entry): ... and here ...
(Output_data_plt_x86_64_standard::do_fill_tlsdesc_entry): ... and here.
* i386.cc (Output_data_plt_i386::Output_data_plt_i386): Take
additional argument for the section alignment.
Don't do add_eh_frame_for_plt here.
(Output_data_plt_i386::first_plt_entry_offset): Make the method
non-static. Use get_plt_entry_size method rather than plt_entry_size
variable.
(Output_data_plt_i386::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_i386::get_plt_entry_size): Call it.
(Output_data_plt_i386::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_i386::add_eh_frame): New method to call it.
(Output_data_plt_i386::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_first_plt_entry): New method to call it.
(Output_data_plt_i386::do_fill_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_plt_entry): New method to call it.
(Output_data_plt_i386::set_final_data_size): Use get_plt_entry_size
method instead of plt_entry_size.
(Output_data_plt_i386::plt_entry_size)
(Output_data_plt_i386::plt_eh_frame_fde_size)
(Output_data_plt_i386::plt_eh_frame_fde): Move to ...
(Output_data_plt_i386_standard): ... here, new class.
(Output_data_plt_i386_exec): New class.
(Output_data_plt_i386::exec_first_plt_entry): Move to ...
(Output_data_plt_i386_exec::first_plt_entry): ... here.
(Output_data_plt_i386::exec_plt_entry): Move to ...
(Output_data_plt_i386_exec::plt_entry): ... here.
(Output_data_plt_i386_dyn): New class.
(Output_data_plt_i386::first_plt_entry): Move to ...
(Output_data_plt_i386_dyn::first_plt_entry): ... here.
(Output_data_plt_i386::dyn_plt_entry): Move to ...
(Output_data_plt_i386_dyn::plt_entry): ... here.
(Target_i386::Target_i386): Take optional argument for the Target_info
pointer to use.
(Target_i386::do_make_data_plt): New virtual method.
(Target_i386::make_data_plt): New method to call it.
(Target_i386::make_plt_section): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_i386::add_entry): Use get_plt_entry_size method
rather than plt_entry_size variable.
(Output_data_plt_i386::add_local_ifunc_entry): Likewise.
(Output_data_plt_i386::address_for_local): Likewise.
(Output_data_plt_i386::do_write): Likewise.
Move guts of PLT filling to...
(Output_data_plt_i386_exec::do_fill_first_plt_entry): ... here ...
(Output_data_plt_i386_exec::do_fill_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_first_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_plt_entry): ... and here.
Change-Id: Id24b95600489835ff5e860a39c147203d4380c2b
2012-05-02 21:37:24 +00:00
|
|
|
nacl.$(OBJEXT) object.$(OBJEXT) options.$(OBJEXT) \
|
|
|
|
output.$(OBJEXT) parameters.$(OBJEXT) plugin.$(OBJEXT) \
|
|
|
|
readsyms.$(OBJEXT) reduced_debug_output.$(OBJEXT) \
|
|
|
|
reloc.$(OBJEXT) resolve.$(OBJEXT) script-sections.$(OBJEXT) \
|
|
|
|
script.$(OBJEXT) stringpool.$(OBJEXT) symtab.$(OBJEXT) \
|
|
|
|
target.$(OBJEXT) target-select.$(OBJEXT) timer.$(OBJEXT) \
|
|
|
|
version.$(OBJEXT) workqueue.$(OBJEXT) \
|
|
|
|
workqueue-threads.$(OBJEXT)
|
2006-08-04 23:10:59 +00:00
|
|
|
am__objects_2 =
|
2006-11-30 23:52:50 +00:00
|
|
|
am__objects_3 = yyscript.$(OBJEXT)
|
|
|
|
am_libgold_a_OBJECTS = $(am__objects_1) $(am__objects_2) \
|
2010-02-03 05:36:55 +00:00
|
|
|
$(am__objects_3) $(am__objects_2)
|
2006-11-30 23:52:50 +00:00
|
|
|
libgold_a_OBJECTS = $(am_libgold_a_OBJECTS)
|
2012-10-24 02:26:39 +00:00
|
|
|
am__installdirs = "$(DESTDIR)$(bindir)"
|
2013-04-26 21:38:57 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@am__EXEEXT_1 = \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ ld3$(EXEEXT)
|
2012-10-24 02:26:39 +00:00
|
|
|
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
|
|
|
|
am_dwp_OBJECTS = dwp.$(OBJEXT)
|
|
|
|
dwp_OBJECTS = $(am_dwp_OBJECTS)
|
|
|
|
am__DEPENDENCIES_1 =
|
|
|
|
dwp_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(dwp_LDFLAGS) \
|
|
|
|
$(LDFLAGS) -o $@
|
2009-11-25 00:10:05 +00:00
|
|
|
am_incremental_dump_OBJECTS = incremental-dump.$(OBJEXT)
|
|
|
|
incremental_dump_OBJECTS = $(am_incremental_dump_OBJECTS)
|
2007-09-30 23:41:32 +00:00
|
|
|
am__objects_4 = main.$(OBJEXT)
|
|
|
|
am_ld_new_OBJECTS = $(am__objects_4)
|
2006-08-04 23:10:59 +00:00
|
|
|
ld_new_OBJECTS = $(am_ld_new_OBJECTS)
|
2009-08-22 16:56:56 +00:00
|
|
|
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) libgold.a $(LIBIBERTY) \
|
|
|
|
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
2015-04-01 13:24:42 +00:00
|
|
|
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
|
|
|
$(am__DEPENDENCIES_1)
|
2011-09-23 15:02:32 +00:00
|
|
|
ld_new_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld_new_LDFLAGS) \
|
|
|
|
$(LDFLAGS) -o $@
|
2007-09-30 23:41:32 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld1_OBJECTS = $(am__objects_4)
|
2007-09-22 20:11:12 +00:00
|
|
|
ld1_OBJECTS = $(am_ld1_OBJECTS)
|
2009-08-22 16:56:56 +00:00
|
|
|
ld1_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_LDFLAGS) \
|
|
|
|
$(LDFLAGS) -o $@
|
2008-02-06 19:32:32 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld1_r_OBJECTS = $(am__objects_4)
|
|
|
|
ld1_r_OBJECTS = $(am_ld1_r_OBJECTS)
|
2009-08-22 16:56:56 +00:00
|
|
|
ld1_r_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_r_LDFLAGS) \
|
|
|
|
$(LDFLAGS) -o $@
|
2007-09-30 23:41:32 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld2_OBJECTS = $(am__objects_4)
|
2007-09-22 20:11:12 +00:00
|
|
|
ld2_OBJECTS = $(am_ld2_OBJECTS)
|
2009-08-22 16:56:56 +00:00
|
|
|
ld2_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_LDFLAGS) \
|
|
|
|
$(LDFLAGS) -o $@
|
2008-02-06 19:32:32 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld2_r_OBJECTS = $(am__objects_4)
|
|
|
|
ld2_r_OBJECTS = $(am_ld2_r_OBJECTS)
|
2009-08-22 16:56:56 +00:00
|
|
|
ld2_r_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld2_r_LDFLAGS) \
|
|
|
|
$(LDFLAGS) -o $@
|
2013-04-26 21:38:57 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld3_OBJECTS = $(am__objects_4)
|
|
|
|
ld3_OBJECTS = $(am_ld3_OBJECTS)
|
|
|
|
ld3_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld3_LDFLAGS) \
|
|
|
|
$(LDFLAGS) -o $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld4_OBJECTS = $(am__objects_4)
|
|
|
|
ld4_OBJECTS = $(am_ld4_OBJECTS)
|
|
|
|
ld4_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld4_LDFLAGS) \
|
|
|
|
$(LDFLAGS) -o $@
|
2009-08-22 16:56:56 +00:00
|
|
|
DEFAULT_INCLUDES = -I.@am__isrc@
|
2006-08-04 23:10:59 +00:00
|
|
|
depcomp = $(SHELL) $(top_srcdir)/../depcomp
|
|
|
|
am__depfiles_maybe = depfiles
|
2009-08-22 16:56:56 +00:00
|
|
|
am__mv = mv -f
|
2006-11-14 19:21:05 +00:00
|
|
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
|
|
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
|
|
|
CCLD = $(CC)
|
|
|
|
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
2006-08-04 23:10:59 +00:00
|
|
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
|
|
CXXLD = $(CXX)
|
|
|
|
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
|
|
|
|
-o $@
|
2009-08-22 16:56:56 +00:00
|
|
|
@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
|
2016-04-15 23:20:02 +00:00
|
|
|
YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
|
2009-08-22 16:56:56 +00:00
|
|
|
YLWRAP = $(top_srcdir)/../ylwrap
|
2012-10-24 02:26:39 +00:00
|
|
|
SOURCES = $(libgold_a_SOURCES) $(dwp_SOURCES) \
|
|
|
|
$(incremental_dump_SOURCES) $(ld_new_SOURCES) \
|
|
|
|
$(EXTRA_ld_new_SOURCES) $(ld1_SOURCES) $(ld1_r_SOURCES) \
|
2013-04-26 21:38:57 +00:00
|
|
|
$(ld2_SOURCES) $(ld2_r_SOURCES) $(ld3_SOURCES) $(ld4_SOURCES)
|
2006-08-04 23:10:59 +00:00
|
|
|
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
|
|
|
html-recursive info-recursive install-data-recursive \
|
2009-08-22 16:56:56 +00:00
|
|
|
install-dvi-recursive install-exec-recursive \
|
|
|
|
install-html-recursive install-info-recursive \
|
|
|
|
install-pdf-recursive install-ps-recursive install-recursive \
|
|
|
|
installcheck-recursive installdirs-recursive pdf-recursive \
|
|
|
|
ps-recursive uninstall-recursive
|
2016-04-15 23:20:02 +00:00
|
|
|
am__can_run_installinfo = \
|
|
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
|
|
n|no|NO) false;; \
|
|
|
|
*) (install-info --version) >/dev/null 2>&1;; \
|
|
|
|
esac
|
2009-08-22 16:56:56 +00:00
|
|
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
|
|
|
distclean-recursive maintainer-clean-recursive
|
|
|
|
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
|
2010-07-28 21:30:13 +00:00
|
|
|
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
|
2016-04-15 23:20:02 +00:00
|
|
|
check recheck check-html recheck-html
|
2006-08-04 23:10:59 +00:00
|
|
|
ETAGS = etags
|
|
|
|
CTAGS = ctags
|
2009-08-22 16:56:56 +00:00
|
|
|
am__tty_colors = \
|
|
|
|
red=; grn=; lgn=; blu=; std=
|
2010-07-28 21:30:13 +00:00
|
|
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
|
|
|
am__vpath_adj = case $$p in \
|
|
|
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
|
|
*) f=$$p;; \
|
|
|
|
esac;
|
|
|
|
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
|
|
|
am__install_max = 40
|
|
|
|
am__nobase_strip_setup = \
|
|
|
|
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
|
|
|
am__nobase_strip = \
|
|
|
|
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
|
|
|
am__nobase_list = $(am__nobase_strip_setup); \
|
|
|
|
for p in $$list; do echo "$$p $$p"; done | \
|
|
|
|
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
|
|
|
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
|
|
|
if (++n[$$2] == $(am__install_max)) \
|
|
|
|
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
|
|
|
END { for (dir in files) print dir, files[dir] }'
|
|
|
|
am__base_list = \
|
|
|
|
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
|
|
|
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
2016-04-15 23:20:02 +00:00
|
|
|
am__uninstall_files_from_dir = { \
|
|
|
|
test -z "$$files" \
|
|
|
|
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
|
|
|
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
|
|
|
$(am__cd) "$$dir" && rm -f $$files; }; \
|
|
|
|
}
|
2010-07-28 21:30:13 +00:00
|
|
|
# Restructured Text title and section.
|
|
|
|
am__rst_title = sed 's/.*/ & /;h;s/./=/g;p;x;p;g;p;s/.*//'
|
|
|
|
am__rst_section = sed 'p;s/./=/g;p;g'
|
|
|
|
# Put stdin (possibly several lines separated by ". ") in a box.
|
2016-04-15 23:20:02 +00:00
|
|
|
# Prefix each line by 'col' and terminate each with 'std', for coloring.
|
|
|
|
# Multi line coloring is problematic with "less -R", so we really need
|
|
|
|
# to color each line individually.
|
|
|
|
am__text_box = $(AWK) '{ \
|
|
|
|
n = split($$0, lines, "\\. "); max = 0; \
|
|
|
|
for (i = 1; i <= n; ++i) \
|
|
|
|
if (max < length(lines[i])) \
|
|
|
|
max = length(lines[i]); \
|
|
|
|
for (i = 0; i < max; ++i) \
|
|
|
|
line = line "="; \
|
|
|
|
print col line std; \
|
|
|
|
for (i = 1; i <= n; ++i) \
|
|
|
|
if (lines[i]) \
|
|
|
|
print col lines[i] std; \
|
|
|
|
print col line std; \
|
2010-07-28 21:30:13 +00:00
|
|
|
}'
|
|
|
|
# Solaris 10 'make', and several other traditional 'make' implementations,
|
2016-04-15 23:20:02 +00:00
|
|
|
# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
|
2010-07-28 21:30:13 +00:00
|
|
|
# by disabling -e (using the XSI extension "set +e") if it's set.
|
|
|
|
am__sh_e_setup = case $$- in *e*) set +e;; esac
|
|
|
|
# To be inserted before the command running the test. Creates the
|
|
|
|
# directory for the log if needed. Stores in $dir the directory
|
|
|
|
# containing $f, in $tst the test, in $log the log, and passes
|
|
|
|
# TESTS_ENVIRONMENT. Save and restore TERM around use of
|
|
|
|
# TESTS_ENVIRONMENT, in case that unsets it.
|
|
|
|
am__check_pre = \
|
|
|
|
$(am__sh_e_setup); \
|
|
|
|
$(am__vpath_adj_setup) $(am__vpath_adj) \
|
|
|
|
srcdir=$(srcdir); export srcdir; \
|
|
|
|
rm -f $@-t; \
|
2016-04-15 23:20:02 +00:00
|
|
|
am__trap='rm -f '\''$(abs_builddir)/$@-t'\''; (exit $$st); exit $$st'; \
|
|
|
|
trap "st=129; $$am__trap" 1; trap "st=130; $$am__trap" 2; \
|
|
|
|
trap "st=141; $$am__trap" 13; trap "st=143; $$am__trap" 15; \
|
2010-07-28 21:30:13 +00:00
|
|
|
am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`; \
|
|
|
|
test "x$$am__odir" = x. || $(MKDIR_P) "$$am__odir" || exit $$?; \
|
|
|
|
if test -f "./$$f"; then dir=./; \
|
|
|
|
elif test -f "$$f"; then dir=; \
|
|
|
|
else dir="$(srcdir)/"; fi; \
|
|
|
|
tst=$$dir$$f; log='$@'; __SAVED_TERM=$$TERM; \
|
|
|
|
$(TESTS_ENVIRONMENT)
|
2016-04-15 23:20:02 +00:00
|
|
|
# To be appended to the command running the test. Handle the stdout
|
|
|
|
# and stderr redirection, and catch the exit status.
|
|
|
|
am__check_post = \
|
|
|
|
>$@-t 2>&1; \
|
|
|
|
estatus=$$?; \
|
|
|
|
if test -n '$(DISABLE_HARD_ERRORS)' \
|
|
|
|
&& test $$estatus -eq 99; then \
|
|
|
|
estatus=1; \
|
|
|
|
fi; \
|
|
|
|
TERM=$$__SAVED_TERM; export TERM; \
|
|
|
|
$(am__tty_colors); \
|
|
|
|
xfailed=PASS; \
|
|
|
|
case " $(XFAIL_TESTS) " in \
|
|
|
|
*[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
|
|
|
|
xfailed=XFAIL;; \
|
|
|
|
esac; \
|
|
|
|
case $$estatus.$$xfailed in \
|
|
|
|
0.XFAIL) col=$$red; res=XPASS;; \
|
|
|
|
0.*) col=$$grn; res=PASS ;; \
|
|
|
|
77.*) col=$$blu; res=SKIP ;; \
|
|
|
|
99.*) col=$$red; res=FAIL ;; \
|
|
|
|
*.XFAIL) col=$$lgn; res=XFAIL;; \
|
|
|
|
*.*) col=$$red; res=FAIL ;; \
|
|
|
|
esac; \
|
|
|
|
echo "$${col}$$res$${std}: $$f"; \
|
|
|
|
echo "$$res: $$f (exit: $$estatus)" | \
|
|
|
|
$(am__rst_section) >$@; \
|
|
|
|
cat $@-t >>$@; \
|
|
|
|
rm -f $@-t
|
2010-07-28 21:30:13 +00:00
|
|
|
RECHECK_LOGS = $(TEST_LOGS)
|
|
|
|
TEST_SUITE_HTML = $(TEST_SUITE_LOG:.log=.html)
|
2016-04-15 23:20:02 +00:00
|
|
|
TEST_SUITE_LOG = test-suite.log
|
2010-07-28 21:30:13 +00:00
|
|
|
TEST_EXTENSIONS = @EXEEXT@ .test
|
|
|
|
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
|
|
|
|
am__test_logs1 = $(TESTS:=.log)
|
|
|
|
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
|
|
|
|
TEST_LOGS = $(am__test_logs2:.test.log=.log)
|
|
|
|
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
|
|
|
|
$(TEST_LOG_FLAGS)
|
|
|
|
TEST_LOGS_TMP = $(TEST_LOGS:.log=.log-t)
|
2006-08-04 23:10:59 +00:00
|
|
|
DIST_SUBDIRS = $(SUBDIRS)
|
|
|
|
ACLOCAL = @ACLOCAL@
|
|
|
|
AMTAR = @AMTAR@
|
|
|
|
AUTOCONF = @AUTOCONF@
|
|
|
|
AUTOHEADER = @AUTOHEADER@
|
|
|
|
AUTOMAKE = @AUTOMAKE@
|
|
|
|
AWK = @AWK@
|
|
|
|
CATALOGS = @CATALOGS@
|
|
|
|
CATOBJEXT = @CATOBJEXT@
|
|
|
|
CC = @CC@
|
|
|
|
CCDEPMODE = @CCDEPMODE@
|
|
|
|
CFLAGS = @CFLAGS@
|
2007-11-30 00:35:27 +00:00
|
|
|
CPP = @CPP@
|
2006-08-04 23:10:59 +00:00
|
|
|
CPPFLAGS = @CPPFLAGS@
|
|
|
|
CXX = @CXX@
|
2006-09-26 21:00:34 +00:00
|
|
|
CXXCPP = @CXXCPP@
|
2006-08-04 23:10:59 +00:00
|
|
|
CXXDEPMODE = @CXXDEPMODE@
|
|
|
|
CXXFLAGS = @CXXFLAGS@
|
|
|
|
CYGPATH_W = @CYGPATH_W@
|
|
|
|
DATADIRNAME = @DATADIRNAME@
|
2013-05-13 17:35:22 +00:00
|
|
|
DEFAULT_TARGET = @DEFAULT_TARGET@
|
2006-08-04 23:10:59 +00:00
|
|
|
DEFS = @DEFS@
|
|
|
|
DEPDIR = @DEPDIR@
|
2013-01-11 14:36:36 +00:00
|
|
|
DLOPEN_LIBS = @DLOPEN_LIBS@
|
2006-08-04 23:10:59 +00:00
|
|
|
ECHO_C = @ECHO_C@
|
|
|
|
ECHO_N = @ECHO_N@
|
|
|
|
ECHO_T = @ECHO_T@
|
2006-09-26 21:00:34 +00:00
|
|
|
EGREP = @EGREP@
|
2006-08-04 23:10:59 +00:00
|
|
|
EXEEXT = @EXEEXT@
|
|
|
|
GENCAT = @GENCAT@
|
|
|
|
GMSGFMT = @GMSGFMT@
|
2011-09-23 15:02:32 +00:00
|
|
|
GOLD_LDADD = @GOLD_LDADD@
|
|
|
|
GOLD_LDFLAGS = @GOLD_LDFLAGS@
|
2009-08-22 16:56:56 +00:00
|
|
|
GREP = @GREP@
|
2006-08-04 23:10:59 +00:00
|
|
|
INCINTL = @INCINTL@
|
2009-08-22 16:56:56 +00:00
|
|
|
INSTALL = @INSTALL@
|
2006-08-04 23:10:59 +00:00
|
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
|
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
|
|
INSTOBJEXT = @INSTOBJEXT@
|
|
|
|
LDFLAGS = @LDFLAGS@
|
2008-01-23 01:31:13 +00:00
|
|
|
LFS_CFLAGS = @LFS_CFLAGS@
|
2006-08-04 23:10:59 +00:00
|
|
|
LIBINTL = @LIBINTL@
|
|
|
|
LIBINTL_DEP = @LIBINTL_DEP@
|
|
|
|
LIBOBJS = @LIBOBJS@
|
|
|
|
LIBS = @LIBS@
|
2007-09-22 20:11:12 +00:00
|
|
|
LN_S = @LN_S@
|
2006-08-04 23:10:59 +00:00
|
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
|
|
MAINT = @MAINT@
|
|
|
|
MAKEINFO = @MAKEINFO@
|
2013-10-11 21:56:16 +00:00
|
|
|
MERGE_CONSTANTS_FLAG = @MERGE_CONSTANTS_FLAG@
|
2009-08-22 16:56:56 +00:00
|
|
|
MKDIR_P = @MKDIR_P@
|
2006-08-04 23:10:59 +00:00
|
|
|
MKINSTALLDIRS = @MKINSTALLDIRS@
|
|
|
|
MSGFMT = @MSGFMT@
|
|
|
|
MSGMERGE = @MSGMERGE@
|
2011-09-14 01:29:01 +00:00
|
|
|
NM = @NM@
|
2006-08-04 23:10:59 +00:00
|
|
|
NO_WERROR = @NO_WERROR@
|
|
|
|
OBJEXT = @OBJEXT@
|
|
|
|
PACKAGE = @PACKAGE@
|
|
|
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|
|
|
PACKAGE_NAME = @PACKAGE_NAME@
|
|
|
|
PACKAGE_STRING = @PACKAGE_STRING@
|
|
|
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
2009-08-22 16:56:56 +00:00
|
|
|
PACKAGE_URL = @PACKAGE_URL@
|
2006-08-04 23:10:59 +00:00
|
|
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
|
|
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
|
|
POSUB = @POSUB@
|
2008-07-21 05:55:27 +00:00
|
|
|
RANDOM_SEED_CFLAGS = @RANDOM_SEED_CFLAGS@
|
2006-11-30 23:52:50 +00:00
|
|
|
RANLIB = @RANLIB@
|
2006-08-04 23:10:59 +00:00
|
|
|
SET_MAKE = @SET_MAKE@
|
|
|
|
SHELL = @SHELL@
|
|
|
|
STRIP = @STRIP@
|
2007-09-30 23:41:32 +00:00
|
|
|
TARGETOBJS = @TARGETOBJS@
|
2006-08-04 23:10:59 +00:00
|
|
|
USE_NLS = @USE_NLS@
|
|
|
|
VERSION = @VERSION@
|
|
|
|
WARN_CFLAGS = @WARN_CFLAGS@
|
|
|
|
WARN_CXXFLAGS = @WARN_CXXFLAGS@
|
2016-04-15 23:20:02 +00:00
|
|
|
WARN_WRITE_STRINGS = @WARN_WRITE_STRINGS@
|
2006-08-04 23:10:59 +00:00
|
|
|
XGETTEXT = @XGETTEXT@
|
2006-11-14 19:21:05 +00:00
|
|
|
YACC = @YACC@
|
2009-08-22 16:56:56 +00:00
|
|
|
YFLAGS = @YFLAGS@
|
|
|
|
abs_builddir = @abs_builddir@
|
|
|
|
abs_srcdir = @abs_srcdir@
|
|
|
|
abs_top_builddir = @abs_top_builddir@
|
|
|
|
abs_top_srcdir = @abs_top_srcdir@
|
2006-08-04 23:10:59 +00:00
|
|
|
ac_ct_CC = @ac_ct_CC@
|
|
|
|
ac_ct_CXX = @ac_ct_CXX@
|
|
|
|
am__include = @am__include@
|
|
|
|
am__leading_dot = @am__leading_dot@
|
|
|
|
am__quote = @am__quote@
|
|
|
|
am__tar = @am__tar@
|
|
|
|
am__untar = @am__untar@
|
|
|
|
bindir = @bindir@
|
|
|
|
build = @build@
|
|
|
|
build_alias = @build_alias@
|
|
|
|
build_cpu = @build_cpu@
|
|
|
|
build_os = @build_os@
|
|
|
|
build_vendor = @build_vendor@
|
2009-08-22 16:56:56 +00:00
|
|
|
builddir = @builddir@
|
2006-08-04 23:10:59 +00:00
|
|
|
datadir = @datadir@
|
2009-08-22 16:56:56 +00:00
|
|
|
datarootdir = @datarootdir@
|
|
|
|
docdir = @docdir@
|
|
|
|
dvidir = @dvidir@
|
2006-08-04 23:10:59 +00:00
|
|
|
exec_prefix = @exec_prefix@
|
|
|
|
host = @host@
|
|
|
|
host_alias = @host_alias@
|
|
|
|
host_cpu = @host_cpu@
|
|
|
|
host_os = @host_os@
|
|
|
|
host_vendor = @host_vendor@
|
2009-08-22 16:56:56 +00:00
|
|
|
htmldir = @htmldir@
|
2006-08-04 23:10:59 +00:00
|
|
|
includedir = @includedir@
|
|
|
|
infodir = @infodir@
|
2010-04-27 14:12:32 +00:00
|
|
|
install_as_default = @install_as_default@
|
2006-08-04 23:10:59 +00:00
|
|
|
install_sh = @install_sh@
|
2010-04-27 14:12:32 +00:00
|
|
|
installed_linker = @installed_linker@
|
2006-08-04 23:10:59 +00:00
|
|
|
libdir = @libdir@
|
|
|
|
libexecdir = @libexecdir@
|
2009-08-22 16:56:56 +00:00
|
|
|
localedir = @localedir@
|
2006-08-04 23:10:59 +00:00
|
|
|
localstatedir = @localstatedir@
|
|
|
|
mandir = @mandir@
|
|
|
|
mkdir_p = @mkdir_p@
|
|
|
|
oldincludedir = @oldincludedir@
|
2009-08-22 16:56:56 +00:00
|
|
|
pdfdir = @pdfdir@
|
2006-08-04 23:10:59 +00:00
|
|
|
prefix = @prefix@
|
|
|
|
program_transform_name = @program_transform_name@
|
2009-08-22 16:56:56 +00:00
|
|
|
psdir = @psdir@
|
2006-08-04 23:10:59 +00:00
|
|
|
sbindir = @sbindir@
|
|
|
|
sharedstatedir = @sharedstatedir@
|
2009-08-22 16:56:56 +00:00
|
|
|
srcdir = @srcdir@
|
2006-08-04 23:10:59 +00:00
|
|
|
sysconfdir = @sysconfdir@
|
|
|
|
target = @target@
|
|
|
|
target_alias = @target_alias@
|
|
|
|
target_cpu = @target_cpu@
|
|
|
|
target_os = @target_os@
|
|
|
|
target_vendor = @target_vendor@
|
2009-08-22 16:56:56 +00:00
|
|
|
top_build_prefix = @top_build_prefix@
|
|
|
|
top_builddir = @top_builddir@
|
|
|
|
top_srcdir = @top_srcdir@
|
2015-04-01 13:24:42 +00:00
|
|
|
zlibdir = @zlibdir@
|
|
|
|
zlibinc = @zlibinc@
|
2009-08-22 15:59:24 +00:00
|
|
|
AUTOMAKE_OPTIONS = foreign
|
2006-11-30 23:52:50 +00:00
|
|
|
SUBDIRS = po testsuite
|
2006-08-04 23:10:59 +00:00
|
|
|
tooldir = $(exec_prefix)/$(target_alias)
|
|
|
|
ACLOCAL_AMFLAGS = -I ../bfd -I ../config
|
2015-04-01 13:24:42 +00:00
|
|
|
|
|
|
|
# This is where we get zlib from. zlibdir is -L../zlib and zlibinc is
|
|
|
|
# -I../zlib, unless we were configured with --with-system-zlib, in which
|
|
|
|
# case both are empty.
|
|
|
|
ZLIB = @zlibdir@ -lz
|
|
|
|
ZLIBINC = @zlibinc@
|
|
|
|
AM_CFLAGS = $(WARN_CFLAGS) $(LFS_CFLAGS) $(RANDOM_SEED_CFLAGS) $(ZLIBINC)
|
|
|
|
AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) $(RANDOM_SEED_CFLAGS) $(ZLIBINC)
|
Cleanups in binutils makefiles.
ld/:
* Makefile.am (bin_PROGRAMS): Renamed from ...
(noinst_PROGRAMS): ... this.
(transform): Override, including the renaming of ld-new to ld.
(install-exec-local): Installation of ld in $(bindir) not needed
here any more.
(AM_CPPFLAGS): Renamed from ...
(INCLUDES): ... this.
(MAINTAINERCLEANFILES): Add ld.1.
* Makefile.in: Regenerate.
gold/:
* Makefile.am (AM_CPPFLAGS): Renamed from ...
(INCLUDES): ... this.
* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
(AM_CPPFLAGS): Renamed from ...
(INCLUDE): ... this.
* Makefile.in, testsuite/Makefile.in: Regenerate.
bfd/:
* Makefile.am (libbfd_la_LDFLAGS): Initialize early, to allow
appending.
[INSTALL_LIBBFD] (bfdlib_LTLIBRARIES, bfdinclude_HEADERS): Set
only in this condition.
[!INSTALL_LIBBFD] (noinst_LTLIBRARIES, libbfd_la_LDFLAGS): New,
to build but not install libbfd.la in this condition.
(install-bfdlibLTLIBRARIES, uninstall-bfdlibLTLIBRARIES)
(install_libbfd, install_libbfd): Remove.
* Makefile.in: Regenerate.
binutils/:
* Makefile.am (AM_CPPFLAGS): Renamed from ...
(INCLUDES): ... this.
(bin2c$(EXEEXT_FOR_BUILD): Adjust rule.
(installcheck-local): Renamed from ...
(installcheck): ... this.
* Makefile.in: Regenerate.
gas/:
* Makefile.am (YFLAGS): Remove, not needed any more.
(AM_CPPFLAGS): Renamed from ...
(INCLUDES): ... this.
* Makefile.in: Regenerate.
gprof/:
* Makefile.am (AM_CPPFLAGS): Renamed from ...
(INCLUDES): ... this.
* Makefile.in: Regenerate.
opcodes/:
* Makefile.am (libopcodes_la_LDFLAGS): Initialize early.
[INSTALL_LIBBFD] (bfdlib_LTLIBRARIES): Set only in this condition.
[INSTALL_LIBBFD] (bfdinclude_DATA): New.
[!INSTALL_LIBBFD] (noinst_LTLIBRARIES): New.
[!INSTALL_LIBBFD] (libopcodes_la_LDFLAGS): Ensure libopcodes.la
is built shared even if it is not to be installed.
(install-bfdlibLTLIBRARIES,uninstall-bfdlibLTLIBRARIES)
(install_libopcodes, uninstall_libopcodes): Remove.
(AM_CPPFLAGS): Renamed from ...
(INCLUDES): ... this.
* Makefile.in: Regenerate.
2009-08-22 19:02:57 +00:00
|
|
|
AM_CPPFLAGS = \
|
2006-08-04 23:10:59 +00:00
|
|
|
-I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../elfcpp \
|
|
|
|
-DLOCALEDIR="\"$(datadir)/locale\"" \
|
2007-10-04 05:49:04 +00:00
|
|
|
-DBINDIR="\"$(bindir)\"" -DTOOLBINDIR="\"$(tooldir)/bin\"" \
|
2011-11-03 04:32:01 +00:00
|
|
|
-DTOOLLIBDIR="\"$(tooldir)/lib\"" @INCINTL@
|
2006-08-04 23:10:59 +00:00
|
|
|
|
2007-10-04 05:49:04 +00:00
|
|
|
LIBIBERTY = ../libiberty/libiberty.a
|
2013-01-11 14:36:36 +00:00
|
|
|
@PLUGINS_TRUE@LIBDL = @DLOPEN_LIBS@
|
2007-10-17 06:24:50 +00:00
|
|
|
@THREADS_TRUE@THREADSLIB = -lpthread
|
2007-09-22 22:44:04 +00:00
|
|
|
AM_YFLAGS = -d
|
2009-08-24 05:55:55 +00:00
|
|
|
|
|
|
|
# Automake 1.10+ disables lex and yacc output file regeneration if
|
|
|
|
# maintainer mode is disabled. Avoid this.
|
|
|
|
am__skiplex =
|
|
|
|
am__skipyacc =
|
2006-11-30 23:52:50 +00:00
|
|
|
noinst_LIBRARIES = libgold.a
|
2006-08-18 22:29:20 +00:00
|
|
|
CCFILES = \
|
2006-09-29 19:58:17 +00:00
|
|
|
archive.cc \
|
2009-12-09 03:02:28 +00:00
|
|
|
attributes.cc \
|
2008-02-08 07:06:58 +00:00
|
|
|
binary.cc \
|
2006-11-03 18:26:11 +00:00
|
|
|
common.cc \
|
2007-11-30 00:35:27 +00:00
|
|
|
compressed_output.cc \
|
2008-04-16 22:54:29 +00:00
|
|
|
copy-relocs.cc \
|
2008-07-22 22:08:43 +00:00
|
|
|
cref.cc \
|
2006-11-03 18:26:11 +00:00
|
|
|
defstd.cc \
|
2008-07-25 04:25:49 +00:00
|
|
|
descriptors.cc \
|
2006-08-04 23:10:59 +00:00
|
|
|
dirsearch.cc \
|
2006-11-14 19:21:05 +00:00
|
|
|
dynobj.cc \
|
2007-11-02 23:02:44 +00:00
|
|
|
dwarf_reader.cc \
|
2007-09-26 05:44:38 +00:00
|
|
|
ehframe.cc \
|
2007-10-14 06:49:14 +00:00
|
|
|
errors.cc \
|
2008-01-09 19:57:45 +00:00
|
|
|
expression.cc \
|
2006-08-04 23:10:59 +00:00
|
|
|
fileread.cc \
|
2009-01-28 02:25:33 +00:00
|
|
|
gc.cc \
|
2012-03-21 19:02:22 +00:00
|
|
|
gdb-index.cc \
|
2006-08-04 23:10:59 +00:00
|
|
|
gold.cc \
|
|
|
|
gold-threads.cc \
|
2009-08-05 20:51:56 +00:00
|
|
|
icf.cc \
|
2009-03-20 23:37:51 +00:00
|
|
|
incremental.cc \
|
2009-12-09 03:02:28 +00:00
|
|
|
int_encoding.cc \
|
2006-09-21 22:13:18 +00:00
|
|
|
layout.cc \
|
2008-05-21 21:37:44 +00:00
|
|
|
mapfile.cc \
|
2007-05-16 17:42:48 +00:00
|
|
|
merge.cc \
|
* configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
* configure: Regenerate.
gold/
* nacl.cc: New file.
* nacl.h: New file.
* Makefile.am (CCFILES, HFILES): Add them.
* Makefile.in: Regenerate.
* i386.cc (Output_data_plt_i386_nacl): New class.
(Output_data_plt_i386_nacl_exec): New class.
(Output_data_plt_i386_nacl_dyn): New class.
(Target_i386_nacl): New class.
(Target_selector_i386_nacl): New class.
(target_selector_i386): Use it instead of Target_selector_i386.
* x86_64.cc (Output_data_plt_x86_64_nacl): New class.
(Target_x86_64_nacl): New class.
(Target_selector_x86_64_nacl): New class.
(target_selector_x86_64, target_selector_x32): Use it instead of
Target_selector_x86_64.
* arm.cc (Output_data_plt_arm_nacl): New class.
(Target_arm_nacl): New class.
(Target_selector_arm_nacl): New class.
(target_selector_arm, target_selector_armbe): Use it instead of
Target_selector_arm.
* target-select.cc (select_target): Take new Input_file* and off_t
arguments, pass them on to recognize method of selector.
* object.cc (make_elf_sized_object): Update caller.
* parameters.cc (parameters_force_valid_target): Likewise.
* incremental.cc (make_sized_incremental_binary): Likewise.
* target-select.h: Update decl.
(Target_selector::recognize): Take new Input_file* argument,
pass it on to do_recognize.
(Target_selector::do_recognize): Take new Input_file* argument.
* freebsd.h (Target_selector_freebsd::do_recognize): Likewise.
* powerpc.cc (Target_selector_powerpc::do_recognize): Likewise.
* sparc.cc (Target_selector_sparc::do_recognize): Likewise.
* testsuite/testfile.cc (Target_selector::do_recognize): Likewise.
* target.h (Target::Target_info): New members isolate_execinstr
and rosegment_gap.
(Target::isolate_execinstr, Target::rosegment_gap): New methods.
* arm.cc (Target_arm::arm_info): Update initializer.
* i386.cc (Target_i386::i386_info): Likewise.
* powerpc.cc (Target_powerpc::powerpc_info): Likewise.
* sparc.cc (Target_sparc::sparc_info): Likewise.
* x86_64.cc (Target_x86_64::x86_64_info): Likewise.
* testsuite/testfile.cc (Target_test::test_target_info): Likewise.
* layout.cc (Layout::attach_allocated_section_to_segment):
Take new const Target* argument. If target->isolate_execinstr(), act
like --rosegment.
(Layout::find_first_load_seg): Take new const Target* argument;
if target->isolate_execinstr(), reject PF_X segments.
(Layout::relaxation_loop_body): Update caller.
(Layout::set_segment_offsets): If target->isolate_execinstr(),
reset file offset to zero when we hit LOAD_SEG, and then do a second
loop over the segments before LOAD_SEG to reassign offsets after
addresses have been determined. Handle target->rosegment_gap().
(Layout::attach_section_to_segment): Take new const Target* argument;
pass it to attach_allocated_section_to_segment.
(Layout::make_output_section): Update caller.
(Layout::attach_sections_to_segments): Take new const Target* argument;
pass it to attach_section_to_segment.
* gold.cc (queue_middle_tasks): Update caller.
* layout.h (Layout): Update method decls with new arguments.
* arm.cc (Target_arm::Target_arm): Take optional argument for the
Target_info pointer to use.
(Target_arm::do_make_data_plt): New virtual method.
(Target_arm::make_data_plt): New method that calls it.
(Target_arm::make_plt_entry): Use it.
(Output_data_plt_arm::Output_data_plt_arm): Take additional argument
for the section alignment.
(Output_data_plt_arm::do_first_plt_entry_offset): New abstract virtual
method.
(Output_data_plt_arm::first_plt_entry_offset): Call it.
(Output_data_plt_arm::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_arm::get_plt_entry_size): Call it.
(Output_data_plt_arm::do_fill_plt_entry): New abstract virtual method.
(Output_data_plt_arm::fill_plt_entry): New method that calls it.
(Output_data_plt_arm::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_arm::fill_first_plt_entry): New method that calls it.
(Output_data_plt_arm::set_final_data_size): Use get_plt_entry_size
method instead of sizeof(plt_entry).
(Output_data_plt_arm::add_entry): Likewise.
Use first_plt_entry_offset method instead of sizeof(first_plt_entry).
(Target_arm::first_plt_entry_offset): Call method on this->plt_ rather
than static method.
(Target_arm::plt_entry_size): Likewise.
(Output_data_plt_arm::first_plt_entry, Output_data_plt_arm::plt_entry):
Move to ...
(Output_data_plt_arm_standard): ... here, new class.
(Output_data_plt_arm::do_write): Move guts of PLT filling to...
(Output_data_plt_arm_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_arm_standard::do_fill_plt_entry): ... and here.
* x86_64.cc (Output_data_plt_x86_64::Output_data_plt_x86_64):
Take additional argument for the PLT entry size.
(Output_data_plt_x86_64::get_tlsdesc_plt_offset):
Use get_plt_entry_size method rather than plt_entry_size variable.
(Output_data_plt_x86_64::reserve_slot): Likewise.
(Output_data_plt_x86_64::do_adjust_output_section): Likewise.
(Output_data_plt_x86_64::add_entry): Likewise.
(Output_data_plt_x86_64::add_local_ifunc_entry): Likewise.
(Output_data_plt_x86_64::address_for_global): Likewise.
(Output_data_plt_x86_64::address_for_local): Likewise.
(Output_data_plt_x86_64::set_final_data_size): Likewise.
(Output_data_plt_x86_64::first_plt_entry_offset): Likewise.
Make method non-static.
(Output_data_plt_x86_64::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_x86_64::get_plt_entry_size): Just call that.
(Output_data_plt_x86_64::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_x86_64::add_eh_frame): New method to call it.
(Output_data_plt_x86_64::do_fill_first_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_first_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_tlsdesc_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_tlsdesc_entry): New method to call it.
(Output_data_plt_x86_64::plt_entry_size)
(Output_data_plt_x86_64::first_plt_entry)
(Output_data_plt_x86_64::plt_entry)
(Output_data_plt_x86_64::tlsdesc_plt_entry)
(Output_data_plt_x86_64::plt_eh_frame_fde_size)
(Output_data_plt_x86_64::plt_eh_frame_fde): Move to ...
(Output_data_plt_x86_64_standard): ... here, new class.
(Target_x86_64::Target_x86_64): Take optional argument for the
Target_info pointer to use.
(Target_x86_64::do_make_data_plt): New virtual method.
(Target_x86_64::make_data_plt): New method to call it.
(Target_x86_64::init_got_plt_for_update): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_x86_64::init): Don't do add_eh_frame_for_plt here.
(Target_x86_64::first_plt_entry_offset): Call method on this->plt_
rather than static method.
(Target_x86_64::plt_entry_size): Likewise.
(Output_data_plt_x86_64::do_write): Use get_plt_entry_size method
rather than plt_entry_size variable. Move guts of PLT filling to...
(Output_data_plt_x86_64_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_x86_64_standard::do_fill_plt_entry): ... and here ...
(Output_data_plt_x86_64_standard::do_fill_tlsdesc_entry): ... and here.
* i386.cc (Output_data_plt_i386::Output_data_plt_i386): Take
additional argument for the section alignment.
Don't do add_eh_frame_for_plt here.
(Output_data_plt_i386::first_plt_entry_offset): Make the method
non-static. Use get_plt_entry_size method rather than plt_entry_size
variable.
(Output_data_plt_i386::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_i386::get_plt_entry_size): Call it.
(Output_data_plt_i386::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_i386::add_eh_frame): New method to call it.
(Output_data_plt_i386::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_first_plt_entry): New method to call it.
(Output_data_plt_i386::do_fill_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_plt_entry): New method to call it.
(Output_data_plt_i386::set_final_data_size): Use get_plt_entry_size
method instead of plt_entry_size.
(Output_data_plt_i386::plt_entry_size)
(Output_data_plt_i386::plt_eh_frame_fde_size)
(Output_data_plt_i386::plt_eh_frame_fde): Move to ...
(Output_data_plt_i386_standard): ... here, new class.
(Output_data_plt_i386_exec): New class.
(Output_data_plt_i386::exec_first_plt_entry): Move to ...
(Output_data_plt_i386_exec::first_plt_entry): ... here.
(Output_data_plt_i386::exec_plt_entry): Move to ...
(Output_data_plt_i386_exec::plt_entry): ... here.
(Output_data_plt_i386_dyn): New class.
(Output_data_plt_i386::first_plt_entry): Move to ...
(Output_data_plt_i386_dyn::first_plt_entry): ... here.
(Output_data_plt_i386::dyn_plt_entry): Move to ...
(Output_data_plt_i386_dyn::plt_entry): ... here.
(Target_i386::Target_i386): Take optional argument for the Target_info
pointer to use.
(Target_i386::do_make_data_plt): New virtual method.
(Target_i386::make_data_plt): New method to call it.
(Target_i386::make_plt_section): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_i386::add_entry): Use get_plt_entry_size method
rather than plt_entry_size variable.
(Output_data_plt_i386::add_local_ifunc_entry): Likewise.
(Output_data_plt_i386::address_for_local): Likewise.
(Output_data_plt_i386::do_write): Likewise.
Move guts of PLT filling to...
(Output_data_plt_i386_exec::do_fill_first_plt_entry): ... here ...
(Output_data_plt_i386_exec::do_fill_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_first_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_plt_entry): ... and here.
Change-Id: Id24b95600489835ff5e860a39c147203d4380c2b
2012-05-02 21:37:24 +00:00
|
|
|
nacl.cc \
|
2006-08-04 23:10:59 +00:00
|
|
|
object.cc \
|
|
|
|
options.cc \
|
2006-09-21 22:13:18 +00:00
|
|
|
output.cc \
|
2007-09-21 07:20:01 +00:00
|
|
|
parameters.cc \
|
2008-09-19 22:54:57 +00:00
|
|
|
plugin.cc \
|
2006-08-04 23:10:59 +00:00
|
|
|
readsyms.cc \
|
2008-05-28 20:48:16 +00:00
|
|
|
reduced_debug_output.cc \
|
2006-09-29 19:58:17 +00:00
|
|
|
reloc.cc \
|
2006-08-18 22:29:20 +00:00
|
|
|
resolve.cc \
|
2008-01-23 01:31:13 +00:00
|
|
|
script-sections.cc \
|
2006-11-14 19:21:05 +00:00
|
|
|
script.cc \
|
2006-08-18 22:29:20 +00:00
|
|
|
stringpool.cc \
|
2007-12-01 06:50:09 +00:00
|
|
|
symtab.cc \
|
2009-06-05 21:32:57 +00:00
|
|
|
target.cc \
|
2006-08-18 22:29:20 +00:00
|
|
|
target-select.cc \
|
2009-12-17 16:02:03 +00:00
|
|
|
timer.cc \
|
2007-10-07 18:06:27 +00:00
|
|
|
version.cc \
|
2007-11-22 00:05:51 +00:00
|
|
|
workqueue.cc \
|
|
|
|
workqueue-threads.cc
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
HFILES = \
|
2010-02-03 05:36:55 +00:00
|
|
|
arm-reloc-property.h \
|
2014-08-08 21:18:35 +00:00
|
|
|
aarch64-reloc-property.h \
|
2006-09-29 19:58:17 +00:00
|
|
|
archive.h \
|
2009-12-09 03:02:28 +00:00
|
|
|
attributes.h \
|
2008-02-08 07:06:58 +00:00
|
|
|
binary.h \
|
2006-11-03 18:26:11 +00:00
|
|
|
common.h \
|
2007-11-30 00:35:27 +00:00
|
|
|
compressed_output.h \
|
2008-04-16 22:54:29 +00:00
|
|
|
copy-relocs.h \
|
2008-07-22 22:08:43 +00:00
|
|
|
cref.h \
|
2006-11-03 18:26:11 +00:00
|
|
|
defstd.h \
|
2006-08-04 23:10:59 +00:00
|
|
|
dirsearch.h \
|
2008-07-25 04:25:49 +00:00
|
|
|
descriptors.h \
|
2006-11-14 19:21:05 +00:00
|
|
|
dynobj.h \
|
2007-11-02 23:02:44 +00:00
|
|
|
dwarf_reader.h \
|
2007-09-26 05:44:38 +00:00
|
|
|
ehframe.h \
|
2007-10-14 06:49:14 +00:00
|
|
|
errors.h \
|
2006-08-04 23:10:59 +00:00
|
|
|
fileread.h \
|
2009-03-24 00:31:29 +00:00
|
|
|
freebsd.h \
|
2009-01-28 02:25:33 +00:00
|
|
|
gc.h \
|
2012-03-21 19:02:22 +00:00
|
|
|
gdb-index.h \
|
2006-08-04 23:10:59 +00:00
|
|
|
gold.h \
|
|
|
|
gold-threads.h \
|
2009-08-05 20:51:56 +00:00
|
|
|
icf.h \
|
2009-12-09 03:02:28 +00:00
|
|
|
int_encoding.h \
|
2006-09-21 22:13:18 +00:00
|
|
|
layout.h \
|
2008-05-21 21:37:44 +00:00
|
|
|
mapfile.h \
|
2007-05-16 17:42:48 +00:00
|
|
|
merge.h \
|
* configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
* configure: Regenerate.
gold/
* nacl.cc: New file.
* nacl.h: New file.
* Makefile.am (CCFILES, HFILES): Add them.
* Makefile.in: Regenerate.
* i386.cc (Output_data_plt_i386_nacl): New class.
(Output_data_plt_i386_nacl_exec): New class.
(Output_data_plt_i386_nacl_dyn): New class.
(Target_i386_nacl): New class.
(Target_selector_i386_nacl): New class.
(target_selector_i386): Use it instead of Target_selector_i386.
* x86_64.cc (Output_data_plt_x86_64_nacl): New class.
(Target_x86_64_nacl): New class.
(Target_selector_x86_64_nacl): New class.
(target_selector_x86_64, target_selector_x32): Use it instead of
Target_selector_x86_64.
* arm.cc (Output_data_plt_arm_nacl): New class.
(Target_arm_nacl): New class.
(Target_selector_arm_nacl): New class.
(target_selector_arm, target_selector_armbe): Use it instead of
Target_selector_arm.
* target-select.cc (select_target): Take new Input_file* and off_t
arguments, pass them on to recognize method of selector.
* object.cc (make_elf_sized_object): Update caller.
* parameters.cc (parameters_force_valid_target): Likewise.
* incremental.cc (make_sized_incremental_binary): Likewise.
* target-select.h: Update decl.
(Target_selector::recognize): Take new Input_file* argument,
pass it on to do_recognize.
(Target_selector::do_recognize): Take new Input_file* argument.
* freebsd.h (Target_selector_freebsd::do_recognize): Likewise.
* powerpc.cc (Target_selector_powerpc::do_recognize): Likewise.
* sparc.cc (Target_selector_sparc::do_recognize): Likewise.
* testsuite/testfile.cc (Target_selector::do_recognize): Likewise.
* target.h (Target::Target_info): New members isolate_execinstr
and rosegment_gap.
(Target::isolate_execinstr, Target::rosegment_gap): New methods.
* arm.cc (Target_arm::arm_info): Update initializer.
* i386.cc (Target_i386::i386_info): Likewise.
* powerpc.cc (Target_powerpc::powerpc_info): Likewise.
* sparc.cc (Target_sparc::sparc_info): Likewise.
* x86_64.cc (Target_x86_64::x86_64_info): Likewise.
* testsuite/testfile.cc (Target_test::test_target_info): Likewise.
* layout.cc (Layout::attach_allocated_section_to_segment):
Take new const Target* argument. If target->isolate_execinstr(), act
like --rosegment.
(Layout::find_first_load_seg): Take new const Target* argument;
if target->isolate_execinstr(), reject PF_X segments.
(Layout::relaxation_loop_body): Update caller.
(Layout::set_segment_offsets): If target->isolate_execinstr(),
reset file offset to zero when we hit LOAD_SEG, and then do a second
loop over the segments before LOAD_SEG to reassign offsets after
addresses have been determined. Handle target->rosegment_gap().
(Layout::attach_section_to_segment): Take new const Target* argument;
pass it to attach_allocated_section_to_segment.
(Layout::make_output_section): Update caller.
(Layout::attach_sections_to_segments): Take new const Target* argument;
pass it to attach_section_to_segment.
* gold.cc (queue_middle_tasks): Update caller.
* layout.h (Layout): Update method decls with new arguments.
* arm.cc (Target_arm::Target_arm): Take optional argument for the
Target_info pointer to use.
(Target_arm::do_make_data_plt): New virtual method.
(Target_arm::make_data_plt): New method that calls it.
(Target_arm::make_plt_entry): Use it.
(Output_data_plt_arm::Output_data_plt_arm): Take additional argument
for the section alignment.
(Output_data_plt_arm::do_first_plt_entry_offset): New abstract virtual
method.
(Output_data_plt_arm::first_plt_entry_offset): Call it.
(Output_data_plt_arm::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_arm::get_plt_entry_size): Call it.
(Output_data_plt_arm::do_fill_plt_entry): New abstract virtual method.
(Output_data_plt_arm::fill_plt_entry): New method that calls it.
(Output_data_plt_arm::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_arm::fill_first_plt_entry): New method that calls it.
(Output_data_plt_arm::set_final_data_size): Use get_plt_entry_size
method instead of sizeof(plt_entry).
(Output_data_plt_arm::add_entry): Likewise.
Use first_plt_entry_offset method instead of sizeof(first_plt_entry).
(Target_arm::first_plt_entry_offset): Call method on this->plt_ rather
than static method.
(Target_arm::plt_entry_size): Likewise.
(Output_data_plt_arm::first_plt_entry, Output_data_plt_arm::plt_entry):
Move to ...
(Output_data_plt_arm_standard): ... here, new class.
(Output_data_plt_arm::do_write): Move guts of PLT filling to...
(Output_data_plt_arm_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_arm_standard::do_fill_plt_entry): ... and here.
* x86_64.cc (Output_data_plt_x86_64::Output_data_plt_x86_64):
Take additional argument for the PLT entry size.
(Output_data_plt_x86_64::get_tlsdesc_plt_offset):
Use get_plt_entry_size method rather than plt_entry_size variable.
(Output_data_plt_x86_64::reserve_slot): Likewise.
(Output_data_plt_x86_64::do_adjust_output_section): Likewise.
(Output_data_plt_x86_64::add_entry): Likewise.
(Output_data_plt_x86_64::add_local_ifunc_entry): Likewise.
(Output_data_plt_x86_64::address_for_global): Likewise.
(Output_data_plt_x86_64::address_for_local): Likewise.
(Output_data_plt_x86_64::set_final_data_size): Likewise.
(Output_data_plt_x86_64::first_plt_entry_offset): Likewise.
Make method non-static.
(Output_data_plt_x86_64::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_x86_64::get_plt_entry_size): Just call that.
(Output_data_plt_x86_64::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_x86_64::add_eh_frame): New method to call it.
(Output_data_plt_x86_64::do_fill_first_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_first_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_tlsdesc_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_tlsdesc_entry): New method to call it.
(Output_data_plt_x86_64::plt_entry_size)
(Output_data_plt_x86_64::first_plt_entry)
(Output_data_plt_x86_64::plt_entry)
(Output_data_plt_x86_64::tlsdesc_plt_entry)
(Output_data_plt_x86_64::plt_eh_frame_fde_size)
(Output_data_plt_x86_64::plt_eh_frame_fde): Move to ...
(Output_data_plt_x86_64_standard): ... here, new class.
(Target_x86_64::Target_x86_64): Take optional argument for the
Target_info pointer to use.
(Target_x86_64::do_make_data_plt): New virtual method.
(Target_x86_64::make_data_plt): New method to call it.
(Target_x86_64::init_got_plt_for_update): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_x86_64::init): Don't do add_eh_frame_for_plt here.
(Target_x86_64::first_plt_entry_offset): Call method on this->plt_
rather than static method.
(Target_x86_64::plt_entry_size): Likewise.
(Output_data_plt_x86_64::do_write): Use get_plt_entry_size method
rather than plt_entry_size variable. Move guts of PLT filling to...
(Output_data_plt_x86_64_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_x86_64_standard::do_fill_plt_entry): ... and here ...
(Output_data_plt_x86_64_standard::do_fill_tlsdesc_entry): ... and here.
* i386.cc (Output_data_plt_i386::Output_data_plt_i386): Take
additional argument for the section alignment.
Don't do add_eh_frame_for_plt here.
(Output_data_plt_i386::first_plt_entry_offset): Make the method
non-static. Use get_plt_entry_size method rather than plt_entry_size
variable.
(Output_data_plt_i386::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_i386::get_plt_entry_size): Call it.
(Output_data_plt_i386::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_i386::add_eh_frame): New method to call it.
(Output_data_plt_i386::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_first_plt_entry): New method to call it.
(Output_data_plt_i386::do_fill_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_plt_entry): New method to call it.
(Output_data_plt_i386::set_final_data_size): Use get_plt_entry_size
method instead of plt_entry_size.
(Output_data_plt_i386::plt_entry_size)
(Output_data_plt_i386::plt_eh_frame_fde_size)
(Output_data_plt_i386::plt_eh_frame_fde): Move to ...
(Output_data_plt_i386_standard): ... here, new class.
(Output_data_plt_i386_exec): New class.
(Output_data_plt_i386::exec_first_plt_entry): Move to ...
(Output_data_plt_i386_exec::first_plt_entry): ... here.
(Output_data_plt_i386::exec_plt_entry): Move to ...
(Output_data_plt_i386_exec::plt_entry): ... here.
(Output_data_plt_i386_dyn): New class.
(Output_data_plt_i386::first_plt_entry): Move to ...
(Output_data_plt_i386_dyn::first_plt_entry): ... here.
(Output_data_plt_i386::dyn_plt_entry): Move to ...
(Output_data_plt_i386_dyn::plt_entry): ... here.
(Target_i386::Target_i386): Take optional argument for the Target_info
pointer to use.
(Target_i386::do_make_data_plt): New virtual method.
(Target_i386::make_data_plt): New method to call it.
(Target_i386::make_plt_section): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_i386::add_entry): Use get_plt_entry_size method
rather than plt_entry_size variable.
(Output_data_plt_i386::add_local_ifunc_entry): Likewise.
(Output_data_plt_i386::address_for_local): Likewise.
(Output_data_plt_i386::do_write): Likewise.
Move guts of PLT filling to...
(Output_data_plt_i386_exec::do_fill_first_plt_entry): ... here ...
(Output_data_plt_i386_exec::do_fill_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_first_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_plt_entry): ... and here.
Change-Id: Id24b95600489835ff5e860a39c147203d4380c2b
2012-05-02 21:37:24 +00:00
|
|
|
nacl.h \
|
2006-08-04 23:10:59 +00:00
|
|
|
object.h \
|
|
|
|
options.h \
|
2006-09-21 22:13:18 +00:00
|
|
|
output.h \
|
2007-09-21 07:20:01 +00:00
|
|
|
parameters.h \
|
2008-09-19 22:54:57 +00:00
|
|
|
plugin.h \
|
2006-08-04 23:10:59 +00:00
|
|
|
readsyms.h \
|
2008-05-28 20:48:16 +00:00
|
|
|
reduced_debug_output.h \
|
2006-09-29 19:58:17 +00:00
|
|
|
reloc.h \
|
2006-11-16 00:38:25 +00:00
|
|
|
reloc-types.h \
|
|
|
|
script-c.h \
|
2008-01-23 01:31:13 +00:00
|
|
|
script-sections.h \
|
|
|
|
script.h \
|
2006-08-18 22:29:20 +00:00
|
|
|
stringpool.h \
|
2006-08-04 23:10:59 +00:00
|
|
|
symtab.h \
|
|
|
|
target.h \
|
2006-09-29 19:58:17 +00:00
|
|
|
target-reloc.h \
|
2006-08-18 22:29:20 +00:00
|
|
|
target-select.h \
|
2009-12-17 16:02:03 +00:00
|
|
|
timer.h \
|
2007-10-08 05:12:59 +00:00
|
|
|
tls.h \
|
2007-12-14 19:00:21 +00:00
|
|
|
token.h \
|
2007-11-22 00:05:51 +00:00
|
|
|
workqueue.h \
|
|
|
|
workqueue-internal.h
|
2006-08-04 23:10:59 +00:00
|
|
|
|
2006-11-14 19:21:05 +00:00
|
|
|
YFILES = \
|
|
|
|
yyscript.y
|
|
|
|
|
2014-08-08 21:18:35 +00:00
|
|
|
DEFFILES = arm-reloc.def aarch64-reloc.def
|
2006-11-14 19:21:05 +00:00
|
|
|
EXTRA_DIST = yyscript.c yyscript.h
|
2007-09-30 23:41:32 +00:00
|
|
|
TARGETSOURCES = \
|
2014-06-23 18:52:34 +00:00
|
|
|
i386.cc x86_64.cc sparc.cc powerpc.cc arm.cc arm-reloc-property.cc tilegx.cc \
|
2015-10-05 14:57:13 +00:00
|
|
|
mips.cc aarch64.cc aarch64-reloc-property.cc s390.cc
|
2007-09-30 23:41:32 +00:00
|
|
|
|
|
|
|
ALL_TARGETOBJS = \
|
2009-05-29 00:15:12 +00:00
|
|
|
i386.$(OBJEXT) x86_64.$(OBJEXT) sparc.$(OBJEXT) powerpc.$(OBJEXT) \
|
2014-07-02 23:21:23 +00:00
|
|
|
arm.$(OBJEXT) arm-reloc-property.$(OBJEXT) tilegx.$(OBJEXT) \
|
2015-10-05 14:57:13 +00:00
|
|
|
mips.$(OBJEXT) aarch64.$(OBJEXT) aarch64-reloc-property.$(OBJEXT) \
|
|
|
|
s390.$(OBJEXT)
|
2007-09-30 23:41:32 +00:00
|
|
|
|
2010-02-03 05:36:55 +00:00
|
|
|
libgold_a_SOURCES = $(CCFILES) $(HFILES) $(YFILES) $(DEFFILES)
|
2009-06-23 18:10:42 +00:00
|
|
|
libgold_a_LIBADD = $(LIBOBJS)
|
2007-09-30 23:41:32 +00:00
|
|
|
sources_var = main.cc
|
2007-10-04 05:49:04 +00:00
|
|
|
deps_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL_DEP)
|
2011-09-23 15:02:32 +00:00
|
|
|
ldadd_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(GOLD_LDADD) $(LIBINTL) \
|
2015-04-01 13:24:42 +00:00
|
|
|
$(THREADSLIB) $(LIBDL) $(ZLIB)
|
2008-09-19 22:54:57 +00:00
|
|
|
|
2011-09-23 15:02:32 +00:00
|
|
|
ldflags_var = $(GOLD_LDFLAGS)
|
2007-09-22 20:11:12 +00:00
|
|
|
ld_new_SOURCES = $(sources_var)
|
2009-06-23 18:10:42 +00:00
|
|
|
ld_new_DEPENDENCIES = $(deps_var)
|
|
|
|
ld_new_LDADD = $(ldadd_var)
|
2011-09-23 15:02:32 +00:00
|
|
|
ld_new_LDFLAGS = $(ldflags_var)
|
2007-09-30 23:41:32 +00:00
|
|
|
EXTRA_ld_new_SOURCES = $(TARGETSOURCES)
|
2009-11-25 00:10:05 +00:00
|
|
|
incremental_dump_SOURCES = incremental-dump.cc
|
2010-01-11 19:38:22 +00:00
|
|
|
incremental_dump_DEPENDENCIES = $(TARGETOBJS) libgold.a $(LIBIBERTY) \
|
|
|
|
$(LIBINTL_DEP)
|
|
|
|
|
|
|
|
incremental_dump_LDADD = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL) \
|
2015-04-01 13:24:42 +00:00
|
|
|
$(THREADSLIB) $(LIBDL) $(ZLIB)
|
2009-11-27 02:05:34 +00:00
|
|
|
|
2012-10-24 02:26:39 +00:00
|
|
|
dwp_SOURCES = dwp.cc
|
|
|
|
dwp_DEPENDENCIES = libgold.a $(LIBIBERTY) $(LIBINTL_DEP)
|
|
|
|
dwp_LDADD = libgold.a $(LIBIBERTY) $(GOLD_LDADD) $(LIBINTL) $(THREADSLIB) \
|
2015-04-01 13:24:42 +00:00
|
|
|
$(LIBDL) $(ZLIB)
|
2012-10-24 02:26:39 +00:00
|
|
|
|
|
|
|
dwp_LDFLAGS = $(GOLD_LDFLAGS)
|
Make it easy to make --disable-werror the default for both binutils and gdb
The goal of this patch is to provide an easy way to make
--disable-werror the default when building binutils, or the parts
of binutils that need to get built when building GDB. In development
mode, we want to continue making -Werror the default with GCC.
But, when making releases, I think we want to make it as easy as
possible for regular users to successfully build from sources.
GDB already has this kind of feature to turn -Werror as well as
the use of the libmcheck library. As GDB Release Manager, I take
advantage of it to turn those off after having cut the branch.
I'd like to be able to do the same for the binutils bits. And
perhaps Tristan will want to do the same for his releases too
(not sure, binutils builders might be a little savvier than GDB
builders).
This patch introduces a new file, called development.sh, which
just sets a variable called $development. In our development branches
(Eg. "master"), it's set to true. But setting it to false would allow
us to change the default behavior of various development-related
features to be turned off; in this case, it turns off the use of
-Werror by default (use --enable-werror to turn it back on).
bfd/ChangeLog:
* development.sh: New file.
* warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
Make -Werror the default with GCC only if DEVELOPMENT is true.
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
$(srcdir)/development.sh.
* Makefile.in, configure: Regenerate.
binutils/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
gas/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
gold/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): New.
* Makefile.in, configure: Regenerate.
gprof/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
ld/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
opcodes/ChangeLog:
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on
bfd's development.sh.
* Makefile.in, configure: Regenerate.
gdb/ChangeLog:
* development.sh: Delete.
* Makefile.in (config.status): Adjust dependency on development.sh.
* configure.ac: Adjust development.sh source call.
* configure: Regenerate.
gdb/gdbserver/ChangeLog:
* configure.ac: Adjust development.sh source call.
* Makefile.in (config.status): Adjust dependency on development.sh.
* configure: Regenerate.
Tested on x86_64-linux by building two ways: One with DEVELOPMENT
set to true, and one with DEVELOPMENT set to false. In the first
case, I could see the use of -Werror, while it disappeared in
the second case.
2014-05-19 21:46:01 +00:00
|
|
|
CONFIG_STATUS_DEPENDENCIES = $(srcdir)/../bfd/development.sh
|
2007-09-30 23:41:32 +00:00
|
|
|
POTFILES = $(CCFILES) $(HFILES) $(TARGETSOURCES)
|
2007-09-22 20:11:12 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_SOURCES = $(sources_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_DEPENDENCIES = $(deps_var) gcctestdir1/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_LDADD = $(ldadd_var)
|
2013-04-26 21:38:57 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_LDFLAGS = -Bgcctestdir1/ \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_1)
|
2007-09-22 20:11:12 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_SOURCES = $(sources_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_DEPENDENCIES = $(deps_var) gcctestdir2/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_LDADD = $(ldadd_var)
|
2013-04-26 21:38:57 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_LDFLAGS = -Bgcctestdir2/ \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_2)
|
2008-02-06 19:32:32 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_SOURCES = $(sources_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_DEPENDENCIES = libgold-1-r.o $(deps_var) gcctestdir1/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_LDADD = libgold-1-r.o $(ldadd_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld1_r_LDFLAGS = -Bgcctestdir1/
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_SOURCES = $(sources_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_DEPENDENCIES = libgold-2-r.o $(deps_var) gcctestdir2-r/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_LDADD = libgold-2-r.o $(ldadd_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld2_r_LDFLAGS = -Bgcctestdir2-r/
|
2013-04-26 21:38:57 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@TESTS = bootstrap-test bootstrap-test-r \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ bootstrap-test-treehash-chunksize \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_6)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_SOURCES = $(sources_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_DEPENDENCIES = $(deps_var) gcctestdir3/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_LDADD = $(ldadd_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld3_LDFLAGS = -Bgcctestdir3/ \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12345 \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_3)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_SOURCES = $(sources_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_DEPENDENCIES = $(deps_var) gcctestdir4/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LDADD = $(ldadd_var)
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ld4_LDFLAGS = -Bgcctestdir4/ \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=12346 \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0 \
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(am__append_4)
|
2006-08-04 23:10:59 +00:00
|
|
|
all: config.h
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
|
|
|
|
|
|
|
.SUFFIXES:
|
2010-07-28 21:30:13 +00:00
|
|
|
.SUFFIXES: .c .cc .html .log .o .obj .test .test$(EXEEXT) .y
|
2016-04-15 23:20:02 +00:00
|
|
|
am--refresh: Makefile
|
2006-08-04 23:10:59 +00:00
|
|
|
@:
|
|
|
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
|
|
|
@for dep in $?; do \
|
|
|
|
case '$(am__configure_deps)' in \
|
|
|
|
*$$dep*) \
|
2009-08-22 16:56:56 +00:00
|
|
|
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
|
|
|
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
2006-08-04 23:10:59 +00:00
|
|
|
&& exit 0; \
|
|
|
|
exit 1;; \
|
|
|
|
esac; \
|
|
|
|
done; \
|
2009-08-22 16:56:56 +00:00
|
|
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
|
|
|
$(am__cd) $(top_srcdir) && \
|
|
|
|
$(AUTOMAKE) --foreign Makefile
|
2006-08-04 23:10:59 +00:00
|
|
|
.PRECIOUS: Makefile
|
|
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
|
|
@case '$?' in \
|
|
|
|
*config.status*) \
|
|
|
|
echo ' $(SHELL) ./config.status'; \
|
|
|
|
$(SHELL) ./config.status;; \
|
|
|
|
*) \
|
|
|
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
|
|
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
|
|
|
esac;
|
|
|
|
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
|
|
$(SHELL) ./config.status --recheck
|
|
|
|
|
|
|
|
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
2009-08-22 16:56:56 +00:00
|
|
|
$(am__cd) $(srcdir) && $(AUTOCONF)
|
2006-08-04 23:10:59 +00:00
|
|
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
2009-08-22 16:56:56 +00:00
|
|
|
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
|
|
|
$(am__aclocal_m4_deps):
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
config.h: stamp-h1
|
2016-04-15 23:20:02 +00:00
|
|
|
@if test ! -f $@; then rm -f stamp-h1; else :; fi
|
|
|
|
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status
|
|
|
|
@rm -f stamp-h1
|
|
|
|
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
|
|
|
$(srcdir)/config.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
2009-08-22 16:56:56 +00:00
|
|
|
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
2006-08-04 23:10:59 +00:00
|
|
|
rm -f stamp-h1
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
distclean-hdr:
|
|
|
|
-rm -f config.h stamp-h1
|
|
|
|
po/Makefile.in: $(top_builddir)/config.status $(top_srcdir)/po/Make-in
|
|
|
|
cd $(top_builddir) && $(SHELL) ./config.status $@
|
|
|
|
|
2006-11-30 23:52:50 +00:00
|
|
|
clean-noinstLIBRARIES:
|
|
|
|
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
2006-11-14 19:21:05 +00:00
|
|
|
yyscript.h: yyscript.c
|
2016-04-15 23:20:02 +00:00
|
|
|
@if test ! -f $@; then rm -f yyscript.c; else :; fi
|
|
|
|
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) yyscript.c; else :; fi
|
|
|
|
libgold.a: $(libgold_a_OBJECTS) $(libgold_a_DEPENDENCIES) $(EXTRA_libgold_a_DEPENDENCIES)
|
2006-11-30 23:52:50 +00:00
|
|
|
-rm -f libgold.a
|
|
|
|
$(libgold_a_AR) libgold.a $(libgold_a_OBJECTS) $(libgold_a_LIBADD)
|
|
|
|
$(RANLIB) libgold.a
|
2012-10-24 02:26:39 +00:00
|
|
|
install-binPROGRAMS: $(bin_PROGRAMS)
|
|
|
|
@$(NORMAL_INSTALL)
|
|
|
|
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
2016-04-15 23:20:02 +00:00
|
|
|
if test -n "$$list"; then \
|
|
|
|
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
|
|
|
|
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
|
|
|
|
fi; \
|
2012-10-24 02:26:39 +00:00
|
|
|
for p in $$list; do echo "$$p $$p"; done | \
|
|
|
|
sed 's/$(EXEEXT)$$//' | \
|
|
|
|
while read p p1; do if test -f $$p; \
|
|
|
|
then echo "$$p"; echo "$$p"; else :; fi; \
|
|
|
|
done | \
|
|
|
|
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
|
|
|
|
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
|
|
|
|
sed 'N;N;N;s,\n, ,g' | \
|
|
|
|
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
|
|
|
|
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
|
|
|
|
if ($$2 == $$4) files[d] = files[d] " " $$1; \
|
|
|
|
else { print "f", $$3 "/" $$4, $$1; } } \
|
|
|
|
END { for (d in files) print "f", d, files[d] }' | \
|
|
|
|
while read type dir files; do \
|
|
|
|
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
|
|
|
|
test -z "$$files" || { \
|
|
|
|
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
|
|
|
|
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
|
|
|
|
} \
|
|
|
|
; done
|
|
|
|
|
|
|
|
uninstall-binPROGRAMS:
|
|
|
|
@$(NORMAL_UNINSTALL)
|
|
|
|
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
|
|
|
|
files=`for p in $$list; do echo "$$p"; done | \
|
|
|
|
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
|
|
|
|
-e 's/$$/$(EXEEXT)/' `; \
|
|
|
|
test -n "$$list" || exit 0; \
|
|
|
|
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
|
|
|
|
cd "$(DESTDIR)$(bindir)" && rm -f $$files
|
|
|
|
|
|
|
|
clean-binPROGRAMS:
|
|
|
|
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
|
2006-11-30 23:52:50 +00:00
|
|
|
|
2007-09-22 20:11:12 +00:00
|
|
|
clean-checkPROGRAMS:
|
|
|
|
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
|
|
|
|
2006-11-30 23:52:50 +00:00
|
|
|
clean-noinstPROGRAMS:
|
|
|
|
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
|
2016-04-15 23:20:02 +00:00
|
|
|
dwp$(EXEEXT): $(dwp_OBJECTS) $(dwp_DEPENDENCIES) $(EXTRA_dwp_DEPENDENCIES)
|
2012-10-24 02:26:39 +00:00
|
|
|
@rm -f dwp$(EXEEXT)
|
|
|
|
$(dwp_LINK) $(dwp_OBJECTS) $(dwp_LDADD) $(LIBS)
|
2016-04-15 23:20:02 +00:00
|
|
|
incremental-dump$(EXEEXT): $(incremental_dump_OBJECTS) $(incremental_dump_DEPENDENCIES) $(EXTRA_incremental_dump_DEPENDENCIES)
|
2009-11-25 00:10:05 +00:00
|
|
|
@rm -f incremental-dump$(EXEEXT)
|
|
|
|
$(CXXLINK) $(incremental_dump_OBJECTS) $(incremental_dump_LDADD) $(LIBS)
|
2016-04-15 23:20:02 +00:00
|
|
|
ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES) $(EXTRA_ld_new_DEPENDENCIES)
|
2006-08-04 23:10:59 +00:00
|
|
|
@rm -f ld-new$(EXEEXT)
|
2011-09-23 15:02:32 +00:00
|
|
|
$(ld_new_LINK) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS)
|
2016-04-15 23:20:02 +00:00
|
|
|
ld1$(EXEEXT): $(ld1_OBJECTS) $(ld1_DEPENDENCIES) $(EXTRA_ld1_DEPENDENCIES)
|
2007-09-22 20:11:12 +00:00
|
|
|
@rm -f ld1$(EXEEXT)
|
2009-08-22 16:56:56 +00:00
|
|
|
$(ld1_LINK) $(ld1_OBJECTS) $(ld1_LDADD) $(LIBS)
|
2016-04-15 23:20:02 +00:00
|
|
|
ld1-r$(EXEEXT): $(ld1_r_OBJECTS) $(ld1_r_DEPENDENCIES) $(EXTRA_ld1_r_DEPENDENCIES)
|
2008-02-06 19:32:32 +00:00
|
|
|
@rm -f ld1-r$(EXEEXT)
|
2009-08-22 16:56:56 +00:00
|
|
|
$(ld1_r_LINK) $(ld1_r_OBJECTS) $(ld1_r_LDADD) $(LIBS)
|
2016-04-15 23:20:02 +00:00
|
|
|
ld2$(EXEEXT): $(ld2_OBJECTS) $(ld2_DEPENDENCIES) $(EXTRA_ld2_DEPENDENCIES)
|
2007-09-22 20:11:12 +00:00
|
|
|
@rm -f ld2$(EXEEXT)
|
2009-08-22 16:56:56 +00:00
|
|
|
$(ld2_LINK) $(ld2_OBJECTS) $(ld2_LDADD) $(LIBS)
|
2016-04-15 23:20:02 +00:00
|
|
|
ld2-r$(EXEEXT): $(ld2_r_OBJECTS) $(ld2_r_DEPENDENCIES) $(EXTRA_ld2_r_DEPENDENCIES)
|
2008-02-06 19:32:32 +00:00
|
|
|
@rm -f ld2-r$(EXEEXT)
|
2009-08-22 16:56:56 +00:00
|
|
|
$(ld2_r_LINK) $(ld2_r_OBJECTS) $(ld2_r_LDADD) $(LIBS)
|
2016-04-15 23:20:02 +00:00
|
|
|
ld3$(EXEEXT): $(ld3_OBJECTS) $(ld3_DEPENDENCIES) $(EXTRA_ld3_DEPENDENCIES)
|
2013-04-26 21:38:57 +00:00
|
|
|
@rm -f ld3$(EXEEXT)
|
|
|
|
$(ld3_LINK) $(ld3_OBJECTS) $(ld3_LDADD) $(LIBS)
|
2016-04-15 23:20:02 +00:00
|
|
|
ld4$(EXEEXT): $(ld4_OBJECTS) $(ld4_DEPENDENCIES) $(EXTRA_ld4_DEPENDENCIES)
|
2013-04-26 21:38:57 +00:00
|
|
|
@rm -f ld4$(EXEEXT)
|
|
|
|
$(ld4_LINK) $(ld4_OBJECTS) $(ld4_LDADD) $(LIBS)
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
mostlyclean-compile:
|
|
|
|
-rm -f *.$(OBJEXT)
|
|
|
|
|
|
|
|
distclean-compile:
|
|
|
|
-rm -f *.tab.c
|
|
|
|
|
2009-03-28 05:22:30 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ffsll.Po@am__quote@
|
2009-03-17 22:25:30 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ftruncate.Po@am__quote@
|
2009-03-27 23:21:09 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/mremap.Po@am__quote@
|
2007-09-25 06:43:17 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pread.Po@am__quote@
|
2014-09-17 22:11:47 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aarch64-reloc-property.Po@am__quote@
|
2014-07-02 23:21:23 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aarch64.Po@am__quote@
|
2006-09-29 19:58:17 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/archive.Po@am__quote@
|
2010-02-03 05:36:55 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm-reloc-property.Po@am__quote@
|
2009-06-05 21:32:57 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arm.Po@am__quote@
|
2009-12-09 03:02:28 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/attributes.Po@am__quote@
|
2008-02-08 07:06:58 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binary.Po@am__quote@
|
2006-11-03 18:26:11 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@
|
2007-11-30 00:35:27 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compressed_output.Po@am__quote@
|
2008-04-16 22:54:29 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copy-relocs.Po@am__quote@
|
2008-07-22 22:08:43 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cref.Po@am__quote@
|
2006-11-03 18:26:11 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/defstd.Po@am__quote@
|
2008-07-25 04:25:49 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/descriptors.Po@am__quote@
|
2006-08-04 23:10:59 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirsearch.Po@am__quote@
|
2007-11-02 23:02:44 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf_reader.Po@am__quote@
|
2012-10-24 02:26:39 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwp.Po@am__quote@
|
2006-11-14 19:21:05 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dynobj.Po@am__quote@
|
2007-09-26 05:44:38 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ehframe.Po@am__quote@
|
2007-10-14 06:49:14 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errors.Po@am__quote@
|
2008-01-09 19:57:45 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/expression.Po@am__quote@
|
2006-08-04 23:10:59 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileread.Po@am__quote@
|
2009-02-25 19:05:21 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gc.Po@am__quote@
|
2012-03-21 19:02:22 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdb-index.Po@am__quote@
|
2006-08-04 23:10:59 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gold-threads.Po@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gold.Po@am__quote@
|
2006-08-18 22:29:20 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i386.Po@am__quote@
|
2009-08-05 20:51:56 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icf.Po@am__quote@
|
2009-11-25 00:10:05 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/incremental-dump.Po@am__quote@
|
2009-03-20 23:37:51 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/incremental.Po@am__quote@
|
2009-12-09 03:02:28 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/int_encoding.Po@am__quote@
|
2006-09-21 22:13:18 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layout.Po@am__quote@
|
2006-11-30 23:52:50 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
|
2008-05-21 21:37:44 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapfile.Po@am__quote@
|
2007-05-16 17:42:48 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/merge.Po@am__quote@
|
2014-06-23 18:52:34 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips.Po@am__quote@
|
* configure.ac (ENABLE_GOLD): Consider *-*-nacl* targets ELF.
* configure: Regenerate.
gold/
* nacl.cc: New file.
* nacl.h: New file.
* Makefile.am (CCFILES, HFILES): Add them.
* Makefile.in: Regenerate.
* i386.cc (Output_data_plt_i386_nacl): New class.
(Output_data_plt_i386_nacl_exec): New class.
(Output_data_plt_i386_nacl_dyn): New class.
(Target_i386_nacl): New class.
(Target_selector_i386_nacl): New class.
(target_selector_i386): Use it instead of Target_selector_i386.
* x86_64.cc (Output_data_plt_x86_64_nacl): New class.
(Target_x86_64_nacl): New class.
(Target_selector_x86_64_nacl): New class.
(target_selector_x86_64, target_selector_x32): Use it instead of
Target_selector_x86_64.
* arm.cc (Output_data_plt_arm_nacl): New class.
(Target_arm_nacl): New class.
(Target_selector_arm_nacl): New class.
(target_selector_arm, target_selector_armbe): Use it instead of
Target_selector_arm.
* target-select.cc (select_target): Take new Input_file* and off_t
arguments, pass them on to recognize method of selector.
* object.cc (make_elf_sized_object): Update caller.
* parameters.cc (parameters_force_valid_target): Likewise.
* incremental.cc (make_sized_incremental_binary): Likewise.
* target-select.h: Update decl.
(Target_selector::recognize): Take new Input_file* argument,
pass it on to do_recognize.
(Target_selector::do_recognize): Take new Input_file* argument.
* freebsd.h (Target_selector_freebsd::do_recognize): Likewise.
* powerpc.cc (Target_selector_powerpc::do_recognize): Likewise.
* sparc.cc (Target_selector_sparc::do_recognize): Likewise.
* testsuite/testfile.cc (Target_selector::do_recognize): Likewise.
* target.h (Target::Target_info): New members isolate_execinstr
and rosegment_gap.
(Target::isolate_execinstr, Target::rosegment_gap): New methods.
* arm.cc (Target_arm::arm_info): Update initializer.
* i386.cc (Target_i386::i386_info): Likewise.
* powerpc.cc (Target_powerpc::powerpc_info): Likewise.
* sparc.cc (Target_sparc::sparc_info): Likewise.
* x86_64.cc (Target_x86_64::x86_64_info): Likewise.
* testsuite/testfile.cc (Target_test::test_target_info): Likewise.
* layout.cc (Layout::attach_allocated_section_to_segment):
Take new const Target* argument. If target->isolate_execinstr(), act
like --rosegment.
(Layout::find_first_load_seg): Take new const Target* argument;
if target->isolate_execinstr(), reject PF_X segments.
(Layout::relaxation_loop_body): Update caller.
(Layout::set_segment_offsets): If target->isolate_execinstr(),
reset file offset to zero when we hit LOAD_SEG, and then do a second
loop over the segments before LOAD_SEG to reassign offsets after
addresses have been determined. Handle target->rosegment_gap().
(Layout::attach_section_to_segment): Take new const Target* argument;
pass it to attach_allocated_section_to_segment.
(Layout::make_output_section): Update caller.
(Layout::attach_sections_to_segments): Take new const Target* argument;
pass it to attach_section_to_segment.
* gold.cc (queue_middle_tasks): Update caller.
* layout.h (Layout): Update method decls with new arguments.
* arm.cc (Target_arm::Target_arm): Take optional argument for the
Target_info pointer to use.
(Target_arm::do_make_data_plt): New virtual method.
(Target_arm::make_data_plt): New method that calls it.
(Target_arm::make_plt_entry): Use it.
(Output_data_plt_arm::Output_data_plt_arm): Take additional argument
for the section alignment.
(Output_data_plt_arm::do_first_plt_entry_offset): New abstract virtual
method.
(Output_data_plt_arm::first_plt_entry_offset): Call it.
(Output_data_plt_arm::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_arm::get_plt_entry_size): Call it.
(Output_data_plt_arm::do_fill_plt_entry): New abstract virtual method.
(Output_data_plt_arm::fill_plt_entry): New method that calls it.
(Output_data_plt_arm::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_arm::fill_first_plt_entry): New method that calls it.
(Output_data_plt_arm::set_final_data_size): Use get_plt_entry_size
method instead of sizeof(plt_entry).
(Output_data_plt_arm::add_entry): Likewise.
Use first_plt_entry_offset method instead of sizeof(first_plt_entry).
(Target_arm::first_plt_entry_offset): Call method on this->plt_ rather
than static method.
(Target_arm::plt_entry_size): Likewise.
(Output_data_plt_arm::first_plt_entry, Output_data_plt_arm::plt_entry):
Move to ...
(Output_data_plt_arm_standard): ... here, new class.
(Output_data_plt_arm::do_write): Move guts of PLT filling to...
(Output_data_plt_arm_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_arm_standard::do_fill_plt_entry): ... and here.
* x86_64.cc (Output_data_plt_x86_64::Output_data_plt_x86_64):
Take additional argument for the PLT entry size.
(Output_data_plt_x86_64::get_tlsdesc_plt_offset):
Use get_plt_entry_size method rather than plt_entry_size variable.
(Output_data_plt_x86_64::reserve_slot): Likewise.
(Output_data_plt_x86_64::do_adjust_output_section): Likewise.
(Output_data_plt_x86_64::add_entry): Likewise.
(Output_data_plt_x86_64::add_local_ifunc_entry): Likewise.
(Output_data_plt_x86_64::address_for_global): Likewise.
(Output_data_plt_x86_64::address_for_local): Likewise.
(Output_data_plt_x86_64::set_final_data_size): Likewise.
(Output_data_plt_x86_64::first_plt_entry_offset): Likewise.
Make method non-static.
(Output_data_plt_x86_64::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_x86_64::get_plt_entry_size): Just call that.
(Output_data_plt_x86_64::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_x86_64::add_eh_frame): New method to call it.
(Output_data_plt_x86_64::do_fill_first_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_first_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_plt_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_plt_entry): New method to call it.
(Output_data_plt_x86_64::do_fill_tlsdesc_entry): New abstract
virtual method.
(Output_data_plt_x86_64::fill_tlsdesc_entry): New method to call it.
(Output_data_plt_x86_64::plt_entry_size)
(Output_data_plt_x86_64::first_plt_entry)
(Output_data_plt_x86_64::plt_entry)
(Output_data_plt_x86_64::tlsdesc_plt_entry)
(Output_data_plt_x86_64::plt_eh_frame_fde_size)
(Output_data_plt_x86_64::plt_eh_frame_fde): Move to ...
(Output_data_plt_x86_64_standard): ... here, new class.
(Target_x86_64::Target_x86_64): Take optional argument for the
Target_info pointer to use.
(Target_x86_64::do_make_data_plt): New virtual method.
(Target_x86_64::make_data_plt): New method to call it.
(Target_x86_64::init_got_plt_for_update): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_x86_64::init): Don't do add_eh_frame_for_plt here.
(Target_x86_64::first_plt_entry_offset): Call method on this->plt_
rather than static method.
(Target_x86_64::plt_entry_size): Likewise.
(Output_data_plt_x86_64::do_write): Use get_plt_entry_size method
rather than plt_entry_size variable. Move guts of PLT filling to...
(Output_data_plt_x86_64_standard::do_fill_first_plt_entry): ... here ...
(Output_data_plt_x86_64_standard::do_fill_plt_entry): ... and here ...
(Output_data_plt_x86_64_standard::do_fill_tlsdesc_entry): ... and here.
* i386.cc (Output_data_plt_i386::Output_data_plt_i386): Take
additional argument for the section alignment.
Don't do add_eh_frame_for_plt here.
(Output_data_plt_i386::first_plt_entry_offset): Make the method
non-static. Use get_plt_entry_size method rather than plt_entry_size
variable.
(Output_data_plt_i386::do_get_plt_entry_size): New abstract virtual
method.
(Output_data_plt_i386::get_plt_entry_size): Call it.
(Output_data_plt_i386::do_add_eh_frame): New abstract virtual method.
(Output_data_plt_i386::add_eh_frame): New method to call it.
(Output_data_plt_i386::do_fill_first_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_first_plt_entry): New method to call it.
(Output_data_plt_i386::do_fill_plt_entry): New abstract virtual
method.
(Output_data_plt_i386::fill_plt_entry): New method to call it.
(Output_data_plt_i386::set_final_data_size): Use get_plt_entry_size
method instead of plt_entry_size.
(Output_data_plt_i386::plt_entry_size)
(Output_data_plt_i386::plt_eh_frame_fde_size)
(Output_data_plt_i386::plt_eh_frame_fde): Move to ...
(Output_data_plt_i386_standard): ... here, new class.
(Output_data_plt_i386_exec): New class.
(Output_data_plt_i386::exec_first_plt_entry): Move to ...
(Output_data_plt_i386_exec::first_plt_entry): ... here.
(Output_data_plt_i386::exec_plt_entry): Move to ...
(Output_data_plt_i386_exec::plt_entry): ... here.
(Output_data_plt_i386_dyn): New class.
(Output_data_plt_i386::first_plt_entry): Move to ...
(Output_data_plt_i386_dyn::first_plt_entry): ... here.
(Output_data_plt_i386::dyn_plt_entry): Move to ...
(Output_data_plt_i386_dyn::plt_entry): ... here.
(Target_i386::Target_i386): Take optional argument for the Target_info
pointer to use.
(Target_i386::do_make_data_plt): New virtual method.
(Target_i386::make_data_plt): New method to call it.
(Target_i386::make_plt_section): Use that.
Call this->plt_->add_eh_frame method here.
(Output_data_plt_i386::add_entry): Use get_plt_entry_size method
rather than plt_entry_size variable.
(Output_data_plt_i386::add_local_ifunc_entry): Likewise.
(Output_data_plt_i386::address_for_local): Likewise.
(Output_data_plt_i386::do_write): Likewise.
Move guts of PLT filling to...
(Output_data_plt_i386_exec::do_fill_first_plt_entry): ... here ...
(Output_data_plt_i386_exec::do_fill_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_first_plt_entry): ... and here ...
(Output_data_plt_i386_dyn::do_fill_plt_entry): ... and here.
Change-Id: Id24b95600489835ff5e860a39c147203d4380c2b
2012-05-02 21:37:24 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nacl.Po@am__quote@
|
2006-08-04 23:10:59 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/object.Po@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Po@am__quote@
|
2006-09-21 22:13:18 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output.Po@am__quote@
|
2007-09-21 07:20:01 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parameters.Po@am__quote@
|
2008-09-19 22:54:57 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Po@am__quote@
|
2008-06-12 17:02:17 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/powerpc.Po@am__quote@
|
2006-08-04 23:10:59 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readsyms.Po@am__quote@
|
2008-05-28 20:48:16 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reduced_debug_output.Po@am__quote@
|
2006-09-29 19:58:17 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reloc.Po@am__quote@
|
2006-08-18 22:29:20 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resolve.Po@am__quote@
|
2015-10-05 14:57:13 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390.Po@am__quote@
|
2008-01-23 01:31:13 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script-sections.Po@am__quote@
|
2006-11-14 19:21:05 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script.Po@am__quote@
|
2008-04-15 05:16:51 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sparc.Po@am__quote@
|
2006-08-18 22:29:20 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stringpool.Po@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symtab.Po@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/target-select.Po@am__quote@
|
2009-06-05 21:32:57 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/target.Po@am__quote@
|
2012-10-24 02:26:39 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tilegx.Po@am__quote@
|
2009-12-17 16:02:03 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Po@am__quote@
|
2007-10-07 18:06:27 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Po@am__quote@
|
2007-11-22 00:05:51 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workqueue-threads.Po@am__quote@
|
2006-08-04 23:10:59 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/workqueue.Po@am__quote@
|
2007-10-01 21:30:59 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x86_64.Po@am__quote@
|
2006-11-14 19:21:05 +00:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yyscript.Po@am__quote@
|
|
|
|
|
|
|
|
.c.o:
|
2009-08-22 16:56:56 +00:00
|
|
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
|
|
|
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
2006-11-14 19:21:05 +00:00
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
|
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
|
|
|
|
|
|
|
.c.obj:
|
2009-08-22 16:56:56 +00:00
|
|
|
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
|
|
|
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
2006-11-14 19:21:05 +00:00
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
|
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
.cc.o:
|
2009-08-22 16:56:56 +00:00
|
|
|
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
|
|
|
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
2006-08-04 23:10:59 +00:00
|
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
|
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
|
|
|
|
|
|
|
|
.cc.obj:
|
2009-08-22 16:56:56 +00:00
|
|
|
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
|
|
|
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
2006-08-04 23:10:59 +00:00
|
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
|
|
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
|
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
2006-11-14 19:21:05 +00:00
|
|
|
|
|
|
|
.y.c:
|
2009-08-22 16:56:56 +00:00
|
|
|
$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
# This directory's subdirectories are mostly independent; you can cd
|
|
|
|
# into them and run `make' without going through this Makefile.
|
|
|
|
# To change the values of `make' variables: instead of editing Makefiles,
|
|
|
|
# (1) if the variable is set in `config.status', edit `config.status'
|
|
|
|
# (which will cause the Makefiles to be regenerated when you run `make');
|
|
|
|
# (2) otherwise, pass the desired values on the `make' command line.
|
|
|
|
$(RECURSIVE_TARGETS):
|
2010-08-19 23:42:03 +00:00
|
|
|
@fail= failcom='exit 1'; \
|
2006-08-04 23:10:59 +00:00
|
|
|
for f in x $$MAKEFLAGS; do \
|
|
|
|
case $$f in \
|
|
|
|
*=* | --[!k]*);; \
|
|
|
|
*k*) failcom='fail=yes';; \
|
|
|
|
esac; \
|
|
|
|
done; \
|
|
|
|
dot_seen=no; \
|
|
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
|
|
echo "Making $$target in $$subdir"; \
|
|
|
|
if test "$$subdir" = "."; then \
|
|
|
|
dot_seen=yes; \
|
|
|
|
local_target="$$target-am"; \
|
|
|
|
else \
|
|
|
|
local_target="$$target"; \
|
|
|
|
fi; \
|
2009-08-22 16:56:56 +00:00
|
|
|
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
2006-08-04 23:10:59 +00:00
|
|
|
|| eval $$failcom; \
|
|
|
|
done; \
|
|
|
|
if test "$$dot_seen" = "no"; then \
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
|
|
|
fi; test -z "$$fail"
|
|
|
|
|
2009-08-22 16:56:56 +00:00
|
|
|
$(RECURSIVE_CLEAN_TARGETS):
|
2010-08-19 23:42:03 +00:00
|
|
|
@fail= failcom='exit 1'; \
|
2006-08-04 23:10:59 +00:00
|
|
|
for f in x $$MAKEFLAGS; do \
|
|
|
|
case $$f in \
|
|
|
|
*=* | --[!k]*);; \
|
|
|
|
*k*) failcom='fail=yes';; \
|
|
|
|
esac; \
|
|
|
|
done; \
|
|
|
|
dot_seen=no; \
|
|
|
|
case "$@" in \
|
|
|
|
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
|
|
|
*) list='$(SUBDIRS)' ;; \
|
|
|
|
esac; \
|
|
|
|
rev=''; for subdir in $$list; do \
|
|
|
|
if test "$$subdir" = "."; then :; else \
|
|
|
|
rev="$$subdir $$rev"; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
rev="$$rev ."; \
|
|
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
|
|
for subdir in $$rev; do \
|
|
|
|
echo "Making $$target in $$subdir"; \
|
|
|
|
if test "$$subdir" = "."; then \
|
|
|
|
local_target="$$target-am"; \
|
|
|
|
else \
|
|
|
|
local_target="$$target"; \
|
|
|
|
fi; \
|
2009-08-22 16:56:56 +00:00
|
|
|
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
2006-08-04 23:10:59 +00:00
|
|
|
|| eval $$failcom; \
|
|
|
|
done && test -z "$$fail"
|
|
|
|
tags-recursive:
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
2009-08-22 16:56:56 +00:00
|
|
|
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
2006-08-04 23:10:59 +00:00
|
|
|
done
|
|
|
|
ctags-recursive:
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
2009-08-22 16:56:56 +00:00
|
|
|
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
2006-08-04 23:10:59 +00:00
|
|
|
done
|
|
|
|
|
|
|
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|
|
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
|
|
|
unique=`for i in $$list; do \
|
|
|
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
|
|
done | \
|
2009-08-22 16:56:56 +00:00
|
|
|
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
|
|
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
2006-08-04 23:10:59 +00:00
|
|
|
mkid -fID $$unique
|
|
|
|
tags: TAGS
|
|
|
|
|
|
|
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
|
|
|
|
$(TAGS_FILES) $(LISP)
|
2009-08-22 16:56:56 +00:00
|
|
|
set x; \
|
2006-08-04 23:10:59 +00:00
|
|
|
here=`pwd`; \
|
|
|
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
|
|
|
include_option=--etags-include; \
|
|
|
|
empty_fix=.; \
|
|
|
|
else \
|
|
|
|
include_option=--include; \
|
|
|
|
empty_fix=; \
|
|
|
|
fi; \
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
|
|
if test "$$subdir" = .; then :; else \
|
|
|
|
test ! -f $$subdir/TAGS || \
|
2009-08-22 16:56:56 +00:00
|
|
|
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
2006-08-04 23:10:59 +00:00
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \
|
|
|
|
unique=`for i in $$list; do \
|
|
|
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
|
|
done | \
|
2009-08-22 16:56:56 +00:00
|
|
|
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
|
|
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
|
|
shift; \
|
|
|
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
2006-08-04 23:10:59 +00:00
|
|
|
test -n "$$unique" || unique=$$empty_fix; \
|
2009-08-22 16:56:56 +00:00
|
|
|
if test $$# -gt 0; then \
|
|
|
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
|
|
"$$@" $$unique; \
|
|
|
|
else \
|
|
|
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
|
|
$$unique; \
|
|
|
|
fi; \
|
2006-08-04 23:10:59 +00:00
|
|
|
fi
|
|
|
|
ctags: CTAGS
|
|
|
|
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) \
|
|
|
|
$(TAGS_FILES) $(LISP)
|
|
|
|
list='$(SOURCES) $(HEADERS) config.in $(LISP) $(TAGS_FILES)'; \
|
|
|
|
unique=`for i in $$list; do \
|
|
|
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
|
|
done | \
|
2009-08-22 16:56:56 +00:00
|
|
|
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
|
|
|
|
END { if (nonempty) { for (i in files) print i; }; }'`; \
|
|
|
|
test -z "$(CTAGS_ARGS)$$unique" \
|
2006-08-04 23:10:59 +00:00
|
|
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
2009-08-22 16:56:56 +00:00
|
|
|
$$unique
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
GTAGS:
|
|
|
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
2009-08-22 16:56:56 +00:00
|
|
|
&& $(am__cd) $(top_srcdir) \
|
|
|
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
distclean-tags:
|
|
|
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
|
|
|
|
2010-07-28 21:30:13 +00:00
|
|
|
$(TEST_SUITE_LOG): $(TEST_LOGS)
|
|
|
|
@$(am__sh_e_setup); \
|
|
|
|
list='$(TEST_LOGS)'; \
|
|
|
|
results=`for f in $$list; do \
|
2016-04-15 23:20:02 +00:00
|
|
|
test -r $$f && read line < $$f && echo "$$line" \
|
|
|
|
|| echo FAIL; \
|
2010-07-28 21:30:13 +00:00
|
|
|
done`; \
|
|
|
|
all=`echo "$$results" | sed '/^$$/d' | wc -l | sed -e 's/^[ ]*//'`; \
|
|
|
|
fail=`echo "$$results" | grep -c '^FAIL'`; \
|
|
|
|
pass=`echo "$$results" | grep -c '^PASS'`; \
|
|
|
|
skip=`echo "$$results" | grep -c '^SKIP'`; \
|
|
|
|
xfail=`echo "$$results" | grep -c '^XFAIL'`; \
|
|
|
|
xpass=`echo "$$results" | grep -c '^XPASS'`; \
|
|
|
|
failures=`expr $$fail + $$xpass`; \
|
|
|
|
all=`expr $$all - $$skip`; \
|
|
|
|
if test "$$all" -eq 1; then tests=test; All=; \
|
|
|
|
else tests=tests; All="All "; fi; \
|
|
|
|
case fail=$$fail:xpass=$$xpass:xfail=$$xfail in \
|
|
|
|
fail=0:xpass=0:xfail=0) \
|
|
|
|
msg="$$All$$all $$tests passed. "; \
|
|
|
|
exit=true;; \
|
|
|
|
fail=0:xpass=0:xfail=*) \
|
|
|
|
msg="$$All$$all $$tests behaved as expected"; \
|
|
|
|
if test "$$xfail" -eq 1; then xfailures=failure; \
|
|
|
|
else xfailures=failures; fi; \
|
|
|
|
msg="$$msg ($$xfail expected $$xfailures). "; \
|
|
|
|
exit=true;; \
|
|
|
|
fail=*:xpass=0:xfail=*) \
|
|
|
|
msg="$$fail of $$all $$tests failed. "; \
|
|
|
|
exit=false;; \
|
|
|
|
fail=*:xpass=*:xfail=*) \
|
|
|
|
msg="$$failures of $$all $$tests did not behave as expected"; \
|
|
|
|
if test "$$xpass" -eq 1; then xpasses=pass; \
|
|
|
|
else xpasses=passes; fi; \
|
|
|
|
msg="$$msg ($$xpass unexpected $$xpasses). "; \
|
|
|
|
exit=false;; \
|
|
|
|
*) \
|
|
|
|
echo >&2 "incorrect case"; exit 4;; \
|
|
|
|
esac; \
|
|
|
|
if test "$$skip" -ne 0; then \
|
|
|
|
if test "$$skip" -eq 1; then \
|
|
|
|
msg="$$msg($$skip test was not run). "; \
|
|
|
|
else \
|
|
|
|
msg="$$msg($$skip tests were not run). "; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
{ \
|
|
|
|
echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
|
|
|
|
$(am__rst_title); \
|
|
|
|
echo "$$msg"; \
|
|
|
|
echo; \
|
|
|
|
echo ".. contents:: :depth: 2"; \
|
|
|
|
echo; \
|
|
|
|
for f in $$list; do \
|
2016-04-15 23:20:02 +00:00
|
|
|
test -r $$f && read line < $$f || line=; \
|
2010-07-28 21:30:13 +00:00
|
|
|
case $$line in \
|
|
|
|
PASS:*|XFAIL:*);; \
|
|
|
|
*) echo; cat $$f;; \
|
|
|
|
esac; \
|
|
|
|
done; \
|
|
|
|
} >$(TEST_SUITE_LOG).tmp; \
|
|
|
|
mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
|
|
|
|
if test "$$failures" -ne 0; then \
|
|
|
|
msg="$${msg}See $(subdir)/$(TEST_SUITE_LOG). "; \
|
|
|
|
if test -n "$(PACKAGE_BUGREPORT)"; then \
|
|
|
|
msg="$${msg}Please report to $(PACKAGE_BUGREPORT). "; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
test x"$$VERBOSE" = x || $$exit || cat $(TEST_SUITE_LOG); \
|
|
|
|
$(am__tty_colors); \
|
|
|
|
if $$exit; then \
|
2016-04-15 23:20:02 +00:00
|
|
|
col="$$grn"; \
|
2010-07-28 21:30:13 +00:00
|
|
|
else \
|
2016-04-15 23:20:02 +00:00
|
|
|
col="$$red"; \
|
2010-07-28 21:30:13 +00:00
|
|
|
fi; \
|
2016-04-15 23:20:02 +00:00
|
|
|
echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std"; \
|
|
|
|
$$exit || exit 1
|
2010-07-28 21:30:13 +00:00
|
|
|
|
2016-04-15 23:20:02 +00:00
|
|
|
check-TESTS recheck:
|
|
|
|
@if test $@ != recheck; then \
|
|
|
|
list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list; \
|
|
|
|
fi
|
2010-07-28 21:30:13 +00:00
|
|
|
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
|
2016-04-15 23:20:02 +00:00
|
|
|
@list='' list2='$(TEST_LOGS)'; for f in $$list2; do \
|
|
|
|
test .log = $$f && continue; \
|
|
|
|
if test $@ = recheck; then \
|
|
|
|
test -f $$f || continue; \
|
|
|
|
if test -r $$f && read line < $$f; then \
|
|
|
|
case $$line in FAIL*|XPASS*) : ;; *) continue;; esac; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
|
|
|
if test -z "$$list"; then list=$$f; else list="$$list $$f"; fi; \
|
|
|
|
done; \
|
|
|
|
if test $@ = recheck && test -n "$$list"; then \
|
|
|
|
$(am__make_dryrun) || rm -f $$list || exit 1; \
|
|
|
|
fi; \
|
2010-08-19 23:42:03 +00:00
|
|
|
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
|
2016-04-15 23:20:02 +00:00
|
|
|
recheck: $(check_PROGRAMS)
|
|
|
|
|
|
|
|
am--mostlyclean-test-html:
|
|
|
|
list='$(TEST_LOGS:.log=.html)'; test -z "$$list" || rm -f $$list
|
|
|
|
rm -f $(TEST_SUITE_HTML)
|
2010-07-28 21:30:13 +00:00
|
|
|
|
|
|
|
.log.html:
|
|
|
|
@list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \
|
|
|
|
for r2h in $$list; do \
|
|
|
|
if ($$r2h --version) >/dev/null 2>&1; then \
|
|
|
|
R2H=$$r2h; \
|
|
|
|
fi; \
|
|
|
|
done; \
|
|
|
|
if test -z "$$R2H"; then \
|
|
|
|
echo >&2 "cannot find rst2html, cannot create $@"; \
|
|
|
|
exit 2; \
|
|
|
|
fi; \
|
|
|
|
$$R2H $< >$@.tmp
|
|
|
|
@mv $@.tmp $@
|
|
|
|
|
|
|
|
# Be sure to run check first, and then to convert the result.
|
|
|
|
# Beware of concurrent executions. Run "check" not "check-TESTS", as
|
|
|
|
# check-SCRIPTS and other dependencies are rebuilt by the former only.
|
|
|
|
# And expect check to fail.
|
2016-04-15 23:20:02 +00:00
|
|
|
check-html recheck-html:
|
|
|
|
@target=`echo $@ | sed 's/-html$$//'`; \
|
|
|
|
rv=0; $(MAKE) $(AM_MAKEFLAGS) $$target || rv=$$?; \
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) TEST_LOGS= || exit 4; \
|
2010-07-28 21:30:13 +00:00
|
|
|
exit $$rv
|
|
|
|
bootstrap-test.log: bootstrap-test
|
|
|
|
@p='bootstrap-test'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
|
|
|
|
bootstrap-test-r.log: bootstrap-test-r
|
|
|
|
@p='bootstrap-test-r'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
|
2013-04-26 21:38:57 +00:00
|
|
|
bootstrap-test-treehash-chunksize.log: bootstrap-test-treehash-chunksize
|
|
|
|
@p='bootstrap-test-treehash-chunksize'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
|
2010-07-28 21:30:13 +00:00
|
|
|
.test.log:
|
|
|
|
@p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
|
|
|
|
@am__EXEEXT_TRUE@.test$(EXEEXT).log:
|
|
|
|
@am__EXEEXT_TRUE@ @p='$<'; $(am__check_pre) $(TEST_LOG_COMPILE) "$$tst" $(am__check_post)
|
2006-08-04 23:10:59 +00:00
|
|
|
check-am: all-am
|
2007-09-22 20:11:12 +00:00
|
|
|
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
|
2006-08-04 23:10:59 +00:00
|
|
|
check: check-recursive
|
2006-11-30 23:52:50 +00:00
|
|
|
all-am: Makefile $(LIBRARIES) $(PROGRAMS) config.h
|
2006-08-04 23:10:59 +00:00
|
|
|
installdirs: installdirs-recursive
|
|
|
|
installdirs-am:
|
2012-10-24 02:26:39 +00:00
|
|
|
for dir in "$(DESTDIR)$(bindir)"; do \
|
|
|
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
|
|
|
done
|
2006-08-04 23:10:59 +00:00
|
|
|
install: install-recursive
|
|
|
|
install-exec: install-exec-recursive
|
|
|
|
install-data: install-data-recursive
|
|
|
|
uninstall: uninstall-recursive
|
|
|
|
|
|
|
|
install-am: all-am
|
|
|
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
|
|
|
|
|
|
|
installcheck: installcheck-recursive
|
|
|
|
install-strip:
|
2016-04-15 23:20:02 +00:00
|
|
|
if test -z '$(STRIP)'; then \
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
|
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
|
|
install; \
|
|
|
|
else \
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
|
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
|
|
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
|
|
|
fi
|
2006-08-04 23:10:59 +00:00
|
|
|
mostlyclean-generic:
|
2010-07-28 21:30:13 +00:00
|
|
|
-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
|
|
|
|
-test -z "$(TEST_LOGS_TMP)" || rm -f $(TEST_LOGS_TMP)
|
|
|
|
-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
clean-generic:
|
|
|
|
|
|
|
|
distclean-generic:
|
|
|
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
2009-08-22 16:56:56 +00:00
|
|
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
maintainer-clean-generic:
|
|
|
|
@echo "This command is intended for maintainers to use"
|
|
|
|
@echo "it deletes files that may require special tools to rebuild."
|
2006-11-14 19:21:05 +00:00
|
|
|
-rm -f yyscript.c
|
|
|
|
-rm -f yyscript.h
|
2006-08-04 23:10:59 +00:00
|
|
|
clean: clean-recursive
|
|
|
|
|
2012-10-24 02:26:39 +00:00
|
|
|
clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
|
|
|
|
clean-noinstLIBRARIES clean-noinstPROGRAMS mostlyclean-am
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
distclean: distclean-recursive
|
|
|
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
2007-09-25 06:43:17 +00:00
|
|
|
-rm -rf $(DEPDIR) ./$(DEPDIR)
|
2006-08-04 23:10:59 +00:00
|
|
|
-rm -f Makefile
|
|
|
|
distclean-am: clean-am distclean-compile distclean-generic \
|
|
|
|
distclean-hdr distclean-tags
|
|
|
|
|
|
|
|
dvi: dvi-recursive
|
|
|
|
|
|
|
|
dvi-am:
|
|
|
|
|
|
|
|
html: html-recursive
|
|
|
|
|
2009-08-22 16:56:56 +00:00
|
|
|
html-am:
|
|
|
|
|
2006-08-04 23:10:59 +00:00
|
|
|
info: info-recursive
|
|
|
|
|
|
|
|
info-am:
|
|
|
|
|
|
|
|
install-data-am: install-data-local
|
|
|
|
|
2009-08-22 16:56:56 +00:00
|
|
|
install-dvi: install-dvi-recursive
|
|
|
|
|
|
|
|
install-dvi-am:
|
|
|
|
|
2012-10-24 02:26:39 +00:00
|
|
|
install-exec-am: install-binPROGRAMS install-exec-local
|
2006-08-04 23:10:59 +00:00
|
|
|
|
2009-08-22 16:56:56 +00:00
|
|
|
install-html: install-html-recursive
|
|
|
|
|
|
|
|
install-html-am:
|
|
|
|
|
2006-08-04 23:10:59 +00:00
|
|
|
install-info: install-info-recursive
|
|
|
|
|
2009-08-22 16:56:56 +00:00
|
|
|
install-info-am:
|
|
|
|
|
2006-08-04 23:10:59 +00:00
|
|
|
install-man:
|
|
|
|
|
2009-08-22 16:56:56 +00:00
|
|
|
install-pdf: install-pdf-recursive
|
|
|
|
|
|
|
|
install-pdf-am:
|
|
|
|
|
|
|
|
install-ps: install-ps-recursive
|
|
|
|
|
|
|
|
install-ps-am:
|
|
|
|
|
2006-08-04 23:10:59 +00:00
|
|
|
installcheck-am:
|
|
|
|
|
|
|
|
maintainer-clean: maintainer-clean-recursive
|
|
|
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
|
|
|
-rm -rf $(top_srcdir)/autom4te.cache
|
2007-09-25 06:43:17 +00:00
|
|
|
-rm -rf $(DEPDIR) ./$(DEPDIR)
|
2006-08-04 23:10:59 +00:00
|
|
|
-rm -f Makefile
|
|
|
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
|
|
|
|
|
|
|
mostlyclean: mostlyclean-recursive
|
|
|
|
|
2016-04-15 23:20:02 +00:00
|
|
|
mostlyclean-am: am--mostlyclean-test-html mostlyclean-compile \
|
|
|
|
mostlyclean-generic
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
pdf: pdf-recursive
|
|
|
|
|
|
|
|
pdf-am:
|
|
|
|
|
|
|
|
ps: ps-recursive
|
|
|
|
|
|
|
|
ps-am:
|
|
|
|
|
2012-10-24 02:26:39 +00:00
|
|
|
uninstall-am: uninstall-binPROGRAMS
|
2009-08-22 16:56:56 +00:00
|
|
|
|
|
|
|
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \
|
2016-04-15 23:20:02 +00:00
|
|
|
check-html ctags-recursive install-am install-strip \
|
2010-07-28 21:30:13 +00:00
|
|
|
recheck-html tags-recursive
|
2009-08-22 16:56:56 +00:00
|
|
|
|
|
|
|
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
2016-04-15 23:20:02 +00:00
|
|
|
all all-am am--mostlyclean-test-html am--refresh check \
|
|
|
|
check-TESTS check-am check-html clean clean-binPROGRAMS \
|
|
|
|
clean-checkPROGRAMS clean-generic clean-noinstLIBRARIES \
|
|
|
|
clean-noinstPROGRAMS ctags ctags-recursive distclean \
|
|
|
|
distclean-compile distclean-generic distclean-hdr \
|
|
|
|
distclean-tags dvi dvi-am html html-am info info-am install \
|
|
|
|
install-am install-binPROGRAMS install-data install-data-am \
|
|
|
|
install-data-local install-dvi install-dvi-am install-exec \
|
|
|
|
install-exec-am install-exec-local install-html \
|
2012-10-24 02:26:39 +00:00
|
|
|
install-html-am install-info install-info-am install-man \
|
|
|
|
install-pdf install-pdf-am install-ps install-ps-am \
|
|
|
|
install-strip installcheck installcheck-am installdirs \
|
|
|
|
installdirs-am maintainer-clean maintainer-clean-generic \
|
|
|
|
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
|
|
|
|
ps ps-am recheck recheck-html tags tags-recursive uninstall \
|
|
|
|
uninstall-am uninstall-binPROGRAMS
|
2006-08-04 23:10:59 +00:00
|
|
|
|
|
|
|
|
2015-06-05 05:58:39 +00:00
|
|
|
diststuff: $(EXTRA_DIST)
|
|
|
|
|
2006-11-14 19:21:05 +00:00
|
|
|
# Use an explicit dependency for the bison generated header file.
|
2008-01-23 02:13:38 +00:00
|
|
|
expression.$(OBJEXT): yyscript.h
|
|
|
|
script-sections.$(OBJEXT): yyscript.h
|
2006-11-14 19:21:05 +00:00
|
|
|
script.$(OBJEXT): yyscript.h
|
|
|
|
|
2006-11-30 23:52:50 +00:00
|
|
|
# We have to build libgold.a before we run the tests.
|
|
|
|
check: libgold.a
|
|
|
|
|
2006-08-04 23:10:59 +00:00
|
|
|
.PHONY: install-exec-local
|
|
|
|
|
|
|
|
install-exec-local: ld-new$(EXEEXT)
|
|
|
|
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(tooldir)/bin
|
2010-04-27 14:12:32 +00:00
|
|
|
n=`echo $(installed_linker) | sed '$(transform)'`; \
|
2013-12-10 22:01:01 +00:00
|
|
|
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) \
|
|
|
|
ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$${n}$(EXEEXT); \
|
2006-08-04 23:10:59 +00:00
|
|
|
if test "$(bindir)" != "$(tooldir)/bin"; then \
|
2010-04-27 14:12:32 +00:00
|
|
|
rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
|
|
|
|
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
|
2013-12-10 22:01:01 +00:00
|
|
|
|| $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
|
2010-04-27 14:12:32 +00:00
|
|
|
fi; \
|
|
|
|
if test "x$(install_as_default)" = "xyes"; then \
|
2010-04-27 16:05:54 +00:00
|
|
|
ld=`echo ld | sed '$(transform)'`; \
|
|
|
|
rm -f $(DESTDIR)$(bindir)/$${ld}$(EXEEXT); \
|
|
|
|
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(bindir)/$${ld}$(EXEEXT) >/dev/null 2>/dev/null \
|
2013-12-10 22:01:01 +00:00
|
|
|
|| $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$${ld}$(EXEEXT); \
|
2010-04-27 14:12:32 +00:00
|
|
|
if test "$(bindir)" != "$(tooldir)/bin"; then \
|
|
|
|
rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
|
|
|
|
ln $(DESTDIR)$(bindir)/$${n}$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
|
2013-12-10 22:01:01 +00:00
|
|
|
|| $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
|
2010-04-27 14:12:32 +00:00
|
|
|
fi; \
|
2006-08-04 23:10:59 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
# We want install to imply install-info as per GNU standards, despite
|
|
|
|
# the cygnus option.
|
|
|
|
install-data-local: install-info
|
2006-11-30 23:52:50 +00:00
|
|
|
|
|
|
|
po/POTFILES.in: @MAINT@ Makefile
|
2008-08-04 06:55:33 +00:00
|
|
|
for f in $(POTFILES); do echo $$f; done | LC_ALL=C sort > tmp \
|
2006-11-30 23:52:50 +00:00
|
|
|
&& mv tmp $(srcdir)/po/POTFILES.in
|
2007-09-22 20:11:12 +00:00
|
|
|
|
|
|
|
# Bootstrap test support. We use ld-new to build ld1, then use ld1 to
|
|
|
|
# build ld2. ld1 and ld2 should be identical. ld-new need not be
|
|
|
|
# identical to ld1, since it was linked with the host linker.
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir1/ld: ld-new
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir1 || mkdir -p gcctestdir1
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir1/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir1 && $(LN_S) ../ld-new ld)
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir2/ld: ld1
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir2 || mkdir -p gcctestdir2
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir2/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir2 && $(LN_S) ../ld1 ld)
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test: ld2
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@
|
2013-04-26 21:38:57 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1 ld2" >> $@
|
2007-09-22 20:11:12 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod +x $@
|
2008-02-06 19:32:32 +00:00
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@libgold-1-r.o: gcctestdir1/ld libgold.a
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir1/ld -o $@ -r --whole-archive libgold.a
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir2-r/ld: ld1-r
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir2-r || mkdir -p gcctestdir2-r
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir2-r/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir2-r && $(LN_S) ../ld1-r ld)
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@libgold-2-r.o: gcctestdir2-r/ld libgold.a
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir2-r/ld -o $@ -r --whole-archive libgold.a
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test-r: ld2-r
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@
|
2013-04-26 21:38:57 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1-r ld2-r" >> $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod +x $@
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir3/ld: ld-new
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir3 || mkdir -p gcctestdir3
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir3/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir3 && $(LN_S) ../ld-new ld)
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@gcctestdir4/ld: ld-new
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -d gcctestdir4 || mkdir -p gcctestdir4
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f gcctestdir4/ld
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ (cd gcctestdir4 && $(LN_S) ../ld-new ld)
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@bootstrap-test-treehash: ld1 ld3
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ rm -f $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ echo "#!/bin/sh" > $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ echo "cmp ld1 ld3" >> $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@@THREADS_TRUE@ chmod +x $@
|
|
|
|
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@bootstrap-test-treehash-chunksize: ld1 ld4
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "#!/bin/sh" > $@
|
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ echo "cmp ld1 ld4 | grep ." >> $@
|
2008-02-06 19:32:32 +00:00
|
|
|
@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod +x $@
|
2009-08-22 16:56:56 +00:00
|
|
|
|
2006-08-04 23:10:59 +00:00
|
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
|
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
|
|
.NOEXPORT:
|