1 //===- OutputSection.cpp --------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #include "OutputSection.h" 10 #include "OutputSegment.h" 11 12 using namespace llvm; 13 using namespace lld; 14 using namespace lld::macho; 15 16 uint64_t OutputSection::getSegmentOffset() const { 17 return addr - parent->addr; 18 } 19 20 void OutputSection::assignAddressesToStartEndSymbols() { 21 for (Defined *d : sectionStartSymbols) 22 d->value = addr; 23 for (Defined *d : sectionEndSymbols) 24 d->value = addr + getSize(); 25 } 26