blob: 07d361c8a49d0b059624005560ee11731f6660cf [file] [log] [blame]
Rafael Espindolaf230df92010-10-16 18:23:53 +00001//===- lib/MC/MCObjectFormat.cpp - MCObjectFormat implementation ----------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "llvm/MC/MCObjectFormat.h"
11#include "llvm/MC/MCSymbol.h"
12
13using namespace llvm;
14
15bool MCELFObjectFormat::isAbsolute(bool IsSet, const MCSymbol &A,
16 const MCSymbol &B) const {
17 // On ELF A - B is absolute if A and B are in the same section.
18 return &A.getSection() == &B.getSection();
19}
20
21bool MCMachOObjectFormat::isAbsolute(bool IsSet, const MCSymbol &A,
22 const MCSymbol &B) const {
23 // On MachO A - B is absolute only if in a set.
24 return IsSet;
25}
26
27bool MCCOFFObjectFormat::isAbsolute(bool IsSet, const MCSymbol &A,
28 const MCSymbol &B) const {
29 // On COFF A - B is absolute if A and B are in the same section.
30 return &A.getSection() == &B.getSection();
31}