24 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8 9#include "OutputSection.h"10#include "OutputSegment.h"11 12using namespace llvm;13using namespace lld;14using namespace lld::macho;15 16uint64_t OutputSection::getSegmentOffset() const { return addr - parent->addr; }17 18void OutputSection::assignAddressesToStartEndSymbols() {19 for (Defined *d : sectionStartSymbols)20 d->value = addr;21 for (Defined *d : sectionEndSymbols)22 d->value = addr + getSize();23}24