From b9c5a79eb89e837981f7743569b715923d8b4c75 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Thu, 23 May 2013 19:36:35 -0500 Subject: Eliminate tracepp! Change-Id: I67a7d626c81b0b90e25057c486d490e6e2b5aede Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5132 Tested-by: Jenkins Server Reviewed-by: Zane Shelley Reviewed-by: Brian H. Horton Reviewed-by: A. Patrick Williams III --- src/build/linker/linker.C | 54 +++++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 23 deletions(-) (limited to 'src/build/linker/linker.C') diff --git a/src/build/linker/linker.C b/src/build/linker/linker.C index 1a9a88ba3..cebfb31d5 100644 --- a/src/build/linker/linker.C +++ b/src/build/linker/linker.C @@ -1,25 +1,25 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/build/linker/linker.C $ -// -// IBM CONFIDENTIAL -// -// COPYRIGHT International Business Machines Corp. 2011 -// -// p1 -// -// Object Code Only (OCO) source materials -// Licensed Internal Code Source Materials -// IBM HostBoot Licensed Internal Code -// -// The source code for this program is not published or other- -// wise divested of its trade secrets, irrespective of what has -// been deposited with the U.S. Copyright Office. -// -// Origin: 30 -// -// IBM_PROLOG_END +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/build/linker/linker.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2011,2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ /** * @file linker.C Linker to generate the host boot binary images */ @@ -662,7 +662,10 @@ bool Object::read_relocation() // Check weak symbol list for duplicate weak symbols. if (syms[i]->flags & (BSF_WEAK)) { - if (weak_symbols[syms[i]->name]++) + // Need to ignore special trace symbols. + if ((string::npos == + string(syms[i]->name).find("traceData_codeInfo")) + && (weak_symbols[syms[i]->name]++)) { weak_symbols_to_check.insert(syms[i]->name); } @@ -711,6 +714,11 @@ bool Object::read_relocation() cout << "Relocs: " << std::dec << locs << endl; for (int i = 0; i < locs; i++) { + if (loc[i]->howto->name == string("R_PPC64_NONE")) + { + continue; + } + Symbol s; s.name = loc[i]->sym_ptr_ptr[0]->name; -- cgit v1.2.1