From 096bd0bb6771fea1963ca6634b4aaca493f24051 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 1 Feb 2011 14:54:37 +0000 Subject: [PATCH] Backport from mainline: 2011-01-25 Ian Lance Taylor * script.cc (script_add_extern): Rewrite to use add_symbol_reference. --- gold/ChangeLog | 7 +++++++ gold/script.cc | 10 +++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 886a0ce4c18..e7bc837398a 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,10 @@ +2011-02-01 Ian Lance Taylor + + Backport from mainline: + 2011-01-25 Ian Lance Taylor + * script.cc (script_add_extern): Rewrite to use + add_symbol_reference. + 2011-02-01 Alan Modra Backport from mainline diff --git a/gold/script.cc b/gold/script.cc index ada9abccc69..b3138bf68e2 100644 --- a/gold/script.cc +++ b/gold/script.cc @@ -1,6 +1,6 @@ // script.cc -- handle linker scripts for gold. -// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. // Written by Ian Lance Taylor . // This file is part of gold. @@ -2576,12 +2576,8 @@ yyerror(void* closurev, const char* message) extern "C" void script_add_extern(void* closurev, const char* name, size_t length) { - // We treat exactly like -u NAME. FIXME: If it seems useful, we - // could handle this after the command line has been read, by adding - // entries to the symbol table directly. - std::string arg("--undefined="); - arg.append(name, length); - script_parse_option(closurev, arg.c_str(), arg.size()); + Parser_closure* closure = static_cast(closurev); + closure->script_options()->add_symbol_reference(name, length); } // Called by the bison parser to add a file to the link. -- 2.47.3