Fix Config.h, Android.mk, and IsLittleEndianHost issue.
s/isLittleEndianHost()/IsLittleEndianHost
Change-Id: I7fdd467f65572c8c721cb58130ad9646e547a8af
diff --git a/include/mcld/Config/Config.h b/include/mcld/Config/Config.h
index 8cadee1..94946df 100644
--- a/include/mcld/Config/Config.h
+++ b/include/mcld/Config/Config.h
@@ -23,7 +23,16 @@
# define MCLD_ON_WIN32 1
#endif
-#define MCLD_VERSION "RockBull - 2.0.0"
+/* Target triple MCLinker will generate code for by default */
+#define MCLD_DEFAULT_TARGET_TRIPLE "x86_64-unknown-linux-gnu"
+
+/* MCLINKER version */
+#define MCLD_VERSION "2.3.0.RC-WhiteStone"
+
+
+/* Version number of package */
+#define VERSION "WhiteStone"
+
#define MCLD_REGION_CHUNK_SIZE 32
#define MCLD_NUM_OF_INPUTS 32
diff --git a/lib/Core/Android.mk b/lib/Core/Android.mk
index 2fd5781..8036cc5 100644
--- a/lib/Core/Android.mk
+++ b/lib/Core/Android.mk
@@ -8,9 +8,9 @@
IRBuilder.cpp \
InputTree.cpp \
LinkerConfig.cpp \
+ LinkerScript.cpp \
Linker.cpp \
Module.cpp \
- ScriptOptions.cpp \
TargetOptions.cpp
# For the host
diff --git a/lib/Fragment/FragmentLinker.cpp b/lib/Fragment/FragmentLinker.cpp
index 2a183b2..5a4b53f 100644
--- a/lib/Fragment/FragmentLinker.cpp
+++ b/lib/Fragment/FragmentLinker.cpp
@@ -231,7 +231,7 @@
uint8_t* target_addr = pOutput + out_offset;
// byte swapping if target and host has different endian, and then write back
- if(llvm::sys::isLittleEndianHost() != m_Config.targets().isLittleEndian()) {
+ if(llvm::sys::IsLittleEndianHost != m_Config.targets().isLittleEndian()) {
uint64_t tmp_data = 0;
switch(pReloc.size(*m_Backend.getRelocator())) {
diff --git a/lib/LD/Android.mk b/lib/LD/Android.mk
index edba1b0..1f46a0b 100644
--- a/lib/LD/Android.mk
+++ b/lib/LD/Android.mk
@@ -37,7 +37,6 @@
ResolveInfo.cpp \
Resolver.cpp \
SectionData.cpp \
- SectionRules.cpp \
SectionSymbolSet.cpp \
StaticResolver.cpp \
StubFactory.cpp \
diff --git a/lib/LD/ELFReader.cpp b/lib/LD/ELFReader.cpp
index 6a9d8e4..f7b047f 100644
--- a/lib/LD/ELFReader.cpp
+++ b/lib/LD/ELFReader.cpp
@@ -91,7 +91,7 @@
st_info = symtab[idx].st_info;
st_other = symtab[idx].st_other;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
st_name = symtab[idx].st_name;
st_value = symtab[idx].st_value;
st_size = symtab[idx].st_size;
@@ -222,7 +222,7 @@
uint32_t r_offset = 0x0;
uint32_t r_info = 0x0;
int32_t r_addend = 0;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
r_offset = relaTab[idx].r_offset;
r_info = relaTab[idx].r_info;
r_addend = relaTab[idx].r_addend;
@@ -258,7 +258,7 @@
for (size_t idx=0; idx < entsize; ++idx) {
uint32_t r_offset = 0x0;
uint32_t r_info = 0x0;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
r_offset = relTab[idx].r_offset;
r_info = relTab[idx].r_info;
}
@@ -295,7 +295,7 @@
llvm::ELF::Elf32_Ehdr* hdr =
reinterpret_cast<llvm::ELF::Elf32_Ehdr*>(pELFHeader);
- if (llvm::sys::isLittleEndianHost())
+ if (llvm::sys::IsLittleEndianHost)
return (hdr->e_machine == target().getInfo().machine());
return (mcld::bswap16(hdr->e_machine) == target().getInfo().machine());
}
@@ -306,7 +306,7 @@
llvm::ELF::Elf32_Ehdr* hdr =
reinterpret_cast<llvm::ELF::Elf32_Ehdr*>(pELFHeader);
uint32_t type = 0x0;
- if (llvm::sys::isLittleEndianHost())
+ if (llvm::sys::IsLittleEndianHost)
type = hdr->e_type;
else
type = mcld::bswap16(hdr->e_type);
@@ -338,7 +338,7 @@
uint32_t shnum = 0x0;
uint32_t shstrtab = 0x0;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
shoff = ehdr->e_shoff;
shentsize = ehdr->e_shentsize;
shnum = ehdr->e_shnum;
@@ -372,7 +372,7 @@
shentsize);
shdr = reinterpret_cast<llvm::ELF::Elf32_Shdr*>(shdr_region->start());
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
sh_size = shdr->sh_size;
sh_link = shdr->sh_link;
}
@@ -397,7 +397,7 @@
// get .shstrtab first
shdr = &shdrTab[shstrtab];
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
sh_offset = shdr->sh_offset;
sh_size = shdr->sh_size;
}
@@ -415,7 +415,7 @@
// create all LDSections, including first NULL section.
for (size_t idx = 0; idx < shnum; ++idx) {
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
sh_name = shdrTab[idx].sh_name;
sh_type = shdrTab[idx].sh_type;
sh_flags = shdrTab[idx].sh_flags;
@@ -495,7 +495,7 @@
uint16_t st_shndx = 0x0;
st_info = entry->st_info;
st_other = entry->st_other;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
st_name = entry->st_name;
st_shndx = entry->st_shndx;
}
@@ -557,7 +557,7 @@
llvm::ELF::Elf32_Sword d_tag = 0x0;
llvm::ELF::Elf32_Word d_val = 0x0;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
d_tag = dynamic[idx].d_tag;
d_val = dynamic[idx].d_un.d_val;
} else {
@@ -652,7 +652,7 @@
st_info = symtab[idx].st_info;
st_other = symtab[idx].st_other;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
st_name = symtab[idx].st_name;
st_value = symtab[idx].st_value;
st_size = symtab[idx].st_size;
@@ -778,7 +778,7 @@
uint64_t r_offset = 0x0;
uint64_t r_info = 0x0;
int64_t r_addend = 0;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
r_offset = relaTab[idx].r_offset;
r_info = relaTab[idx].r_info;
r_addend = relaTab[idx].r_addend;
@@ -814,7 +814,7 @@
for (size_t idx=0; idx < entsize; ++idx) {
uint64_t r_offset = 0x0;
uint64_t r_info = 0x0;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
r_offset = relTab[idx].r_offset;
r_info = relTab[idx].r_info;
}
@@ -851,7 +851,7 @@
llvm::ELF::Elf64_Ehdr* hdr =
reinterpret_cast<llvm::ELF::Elf64_Ehdr*>(pELFHeader);
- if (llvm::sys::isLittleEndianHost())
+ if (llvm::sys::IsLittleEndianHost)
return (hdr->e_machine == target().getInfo().machine());
return (mcld::bswap16(hdr->e_machine) == target().getInfo().machine());
}
@@ -862,7 +862,7 @@
llvm::ELF::Elf64_Ehdr* hdr =
reinterpret_cast<llvm::ELF::Elf64_Ehdr*>(pELFHeader);
uint32_t type = 0x0;
- if (llvm::sys::isLittleEndianHost())
+ if (llvm::sys::IsLittleEndianHost)
type = hdr->e_type;
else
type = mcld::bswap16(hdr->e_type);
@@ -894,7 +894,7 @@
uint32_t shnum = 0x0;
uint32_t shstrtab = 0x0;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
shoff = ehdr->e_shoff;
shentsize = ehdr->e_shentsize;
shnum = ehdr->e_shnum;
@@ -928,7 +928,7 @@
shentsize);
shdr = reinterpret_cast<llvm::ELF::Elf64_Shdr*>(shdr_region->start());
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
sh_size = shdr->sh_size;
sh_link = shdr->sh_link;
}
@@ -953,7 +953,7 @@
// get .shstrtab first
shdr = &shdrTab[shstrtab];
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
sh_offset = shdr->sh_offset;
sh_size = shdr->sh_size;
}
@@ -971,7 +971,7 @@
// create all LDSections, including first NULL section.
for (size_t idx = 0; idx < shnum; ++idx) {
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
sh_name = shdrTab[idx].sh_name;
sh_type = shdrTab[idx].sh_type;
sh_flags = shdrTab[idx].sh_flags;
@@ -1051,7 +1051,7 @@
uint16_t st_shndx = 0x0;
st_info = entry->st_info;
st_other = entry->st_other;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
st_name = entry->st_name;
st_shndx = entry->st_shndx;
}
@@ -1113,7 +1113,7 @@
llvm::ELF::Elf64_Sxword d_tag = 0x0;
llvm::ELF::Elf64_Xword d_val = 0x0;
- if (llvm::sys::isLittleEndianHost()) {
+ if (llvm::sys::IsLittleEndianHost) {
d_tag = dynamic[idx].d_tag;
d_val = dynamic[idx].d_un.d_val;
} else {
diff --git a/lib/LD/GNUArchiveReader.cpp b/lib/LD/GNUArchiveReader.cpp
index 6324824..e391b20 100644
--- a/lib/LD/GNUArchiveReader.cpp
+++ b/lib/LD/GNUArchiveReader.cpp
@@ -265,7 +265,7 @@
// read the number of symbols
uint32_t number = 0;
- if (llvm::sys::isLittleEndianHost())
+ if (llvm::sys::IsLittleEndianHost)
number = mcld::bswap32(*data);
else
number = *data;
@@ -276,7 +276,7 @@
// add the archive symbols
for (uint32_t i = 0; i < number; ++i) {
- if (llvm::sys::isLittleEndianHost())
+ if (llvm::sys::IsLittleEndianHost)
pArchive.addSymbol(name, mcld::bswap32(*data));
else
pArchive.addSymbol(name, *data);
diff --git a/lib/LD/RelocationFactory.cpp b/lib/LD/RelocationFactory.cpp
index 8a065a8..bb56cdd 100644
--- a/lib/LD/RelocationFactory.cpp
+++ b/lib/LD/RelocationFactory.cpp
@@ -45,7 +45,7 @@
DWord target_data = 0;
// byte swapping if the host and target have different endian
- if(llvm::sys::isLittleEndianHost() != m_pConfig->targets().isLittleEndian()) {
+ if(llvm::sys::IsLittleEndianHost != m_pConfig->targets().isLittleEndian()) {
uint32_t tmp_data;
switch (m_pConfig->targets().bitclass()) {
diff --git a/lib/Support/Android.mk b/lib/Support/Android.mk
index b503a3d..ce9c6f1 100644
--- a/lib/Support/Android.mk
+++ b/lib/Support/Android.mk
@@ -2,6 +2,7 @@
mcld_support_SRC_FILES := \
CommandLine.cpp \
+ DefSymParser.cpp \
Directory.cpp \
FileHandle.cpp \
FileSystem.cpp \