| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
No functional changes.
llvm-svn: 239221
|
|
|
|
|
|
| |
That's a weird gcc's complain.
llvm-svn: 238812
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 238689
|
|
|
|
|
|
|
| |
The .reginfo should not belong to the separate segment if there is
a .MIPS.abiflags section.
llvm-svn: 238688
|
|
|
|
| |
llvm-svn: 238687
|
|
|
|
|
|
| |
http://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking
llvm-svn: 238686
|
|
|
|
| |
llvm-svn: 238685
|
|
|
|
|
|
|
|
| |
New MipsAbiInfoHandler merges and hold both ELF header flags
and registries usage masks. In the future commits it will manage some
additional information.
llvm-svn: 238684
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 238310
|
|
|
|
|
|
|
|
| |
We do not need to merge ELF flags from DSO. But `isCompatible` is called
for all input files. So this change move ELF flags merging into the
MipsELFFile class.
llvm-svn: 238304
|
|
|
|
|
|
|
|
| |
function
No functional changes.
llvm-svn: 238303
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 238189
|
|
|
|
|
|
|
|
| |
ODK_REGINFO descriptor
No functional changes.
llvm-svn: 238176
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 238175
|
|
|
|
| |
llvm-svn: 238030
|
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D9921
Reviewed by: atanasyan
llvm-svn: 237973
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 235708
|
|
|
|
| |
llvm-svn: 235488
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The TargetLayout class puts two sections into the same segment if they
have equal segment types and the same section flags (SHF_xxx). To be
able to merge some sort of sections into the same segment we drop some
flags before comparison. For example to merge string sections into Data
segment we drop SHF_STRINGS and SHF_MERGE flags.
The patch allows TargetLayout descendants to drop some target specific
section flags. MIPS target needs that to merge .MIPS.options section
which has SHF_MIPS_NOSTRIP flag into the LOAD segment.
http://reviews.llvm.org/D9160
llvm-svn: 235487
|
|
|
|
| |
llvm-svn: 235391
|
|
|
|
|
|
|
| |
If .MIPS.options section exists the DT_MIPS_OPTIONS tag should hold
an address of this section.
llvm-svn: 235290
|
|
|
|
| |
llvm-svn: 235289
|
|
|
|
| |
llvm-svn: 235288
|
|
|
|
| |
llvm-svn: 235033
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 235032
|
|
|
|
| |
llvm-svn: 235031
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 235030
|
|
|
|
| |
llvm-svn: 234938
|
|
|
|
| |
llvm-svn: 234932
|
|
|
|
| |
llvm-svn: 234925
|
|
|
|
| |
llvm-svn: 234862
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, ELFReader takes three template arguments: EFLT,
LinkingContextT and FileT. FileT is itself templated.
So it was a bit complicated. Maybe too much.
Most architectures don't actually need to be parameterized for ELFT.
For example, x86 is always ELF32LE and x86-64 is ELF64LE.
However, because ELFReader requires a ELFT argument, we needed
to parameterize a class even if not needed.
This patch removes the parameter from the class. So now we can
de-templatize such classes (I didn't do that in this patch, though).
This patch also removes ContextT parameter since it didn't have to be
passed as a template argument.
llvm-svn: 234853
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function took either StringRef or Twine. Since string literals are
ambiguous when resolving the overloading, many code calls used this
function with explicit type conversion. That led awkward code like
make_dynamic_error_code(Twine("Error occurred")).
This patch adds a function definition for string literals, so that
you can directly call the function with literals.
llvm-svn: 234841
|
|
|
|
| |
llvm-svn: 234823
|
|
|
|
|
|
|
| |
This is a follow-up to r234728 and r234729. It looks like explicit
instantiation of `MipsELFFile` is redundant and triggers Visual C++ warning.
llvm-svn: 234756
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I can't access my Windows machine at the moment, but the build was breaking with:
c:\b\build\slave\crwinclanglld\build\src\third_party\llvm\tools\lld\lib\readerwriter\elf\mips\MipsTargetLayout.h(38) : error C2440: 'return' : cannot convert from 'lld::elf::MipsGOTSection<ELFT> *' to 'lld::elf::AtomSection<ELFT> *'
with
[
ELFT=lld::elf::Mips32ELType
]
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
I think this regressed caused in 234727: that the forward-declarations
of MipsGOTSection<> is not enough.
llvm-svn: 234736
|
|
|
|
|
|
| |
Use explicit instantiation to reduce object files size.
llvm-svn: 234729
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now MIPS instantiates MipsTargetHandler using Mips32ELType and
Mips64ELType. And in the future we can add a couple more types. That
leads to the large object file size because compiler has to create
copies of MipsTargetHandler and all realted classes for each types used
for instantiation.
The patch introduces two factory functions and puts each of them into
the separate cpp file. That allows to reduce size of single object file.
llvm-svn: 234728
|
|
|
|
| |
llvm-svn: 234727
|
|
|
|
| |
llvm-svn: 234726
|
|
|
|
| |
llvm-svn: 234725
|
|
|
|
| |
llvm-svn: 234724
|
|
|
|
|
|
|
|
| |
This MIPS specific option controls R_MIPS_EH relocation handling.
If -pcrel-eh-reloc is specified R_MIPS_EH relocation should be handled
like R_MIPS_PC32 relocation.
llvm-svn: 234635
|
|
|
|
|
|
|
| |
The patch supports just the R_MIPS_EH relocation handling and does not
implement full specification of compact exception tables for MIPS ABIs.
llvm-svn: 234634
|
|
|
|
|
|
|
| |
When we call getGP() we need in fact _gp symbol address. Let's cache its
value and return it directly from the new getGPAddr() function.
llvm-svn: 234632
|
|
|
|
|
|
| |
The commit is inspired by r234628. Thanks Rui for the idea.
llvm-svn: 234631
|
|
|
|
| |
llvm-svn: 234630
|
|
|
|
|
|
|
|
| |
SimpleFile is the only derived class of MutableFile.
This patch reduces the height of class hierarchy by removing
MutableFile class.
llvm-svn: 234354
|
|
|
|
|
|
|
|
|
|
|
| |
handleDefinedSymbol has return type of ErrorOr<ELFDefinedAtom *>.
However, it never returns an error. We are not checking errors.
It's marked as ErrorOr "just in case". That's a bad engineering
practice.
This patch simplifies the return type of the function.
llvm-svn: 234269
|
|
|
|
|
|
|
| |
All instances of the `createImplicitFiles` always return `true` and this
return value is used nowhere.
llvm-svn: 234205
|