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 { return addr - parent->addr; } 17 18 void OutputSection::assignAddressesToStartEndSymbols() { 19 for (Defined *d : sectionStartSymbols) 20 d->value = addr; 21 for (Defined *d : sectionEndSymbols) 22 d->value = addr + getSize(); 23 } 24