Simon Atanasyan
134a8a6311
[Mips] Reduce the number of 'const' casts.
...
llvm-svn: 204355
2014-03-20 16:26:25 +00:00
Simon Atanasyan
df0d62a7cb
[Mips] Join two for loops over defined atoms into the single one.
...
llvm-svn: 204354
2014-03-20 16:26:15 +00:00
Simon Atanasyan
7b571f4ee0
[Mips] Remove the dead code.
...
llvm-svn: 204353
2014-03-20 16:26:07 +00:00
Simon Atanasyan
c452d4f89f
[Mips] Remove unused member function argument.
...
llvm-svn: 204352
2014-03-20 16:25:58 +00:00
Simon Atanasyan
e29132d427
[Mips] Fix handling of R_MIPS_GOT16 relocation and building local part
...
of GOT.
* Read addend for R_MIPS_GOT16 relocation.
* Put only high 16 bits of symbol + addend into GOT entries for
locally visible symbols.
llvm-svn: 204247
2014-03-19 15:46:25 +00:00
Simon Atanasyan
b1ba018ed2
[Mips] Handle R_MIPS_GOT16 relocation for external and local symbols in
...
a uniform way.
llvm-svn: 204246
2014-03-19 15:46:15 +00:00
Simon Atanasyan
49fa6a41f4
[Mips] Factor out the code creates GOT entry atoms into the two
...
functions. The first one is for local GOT entries. The second one is for
global GOT entries.
llvm-svn: 204245
2014-03-19 15:46:07 +00:00
Simon Atanasyan
a7b553efd1
[Mips] Add 'const' qualifier to the function.
...
llvm-svn: 204244
2014-03-19 15:46:00 +00:00
Simon Atanasyan
c1b62ea310
[Mips] Move AHL addends calculation to the RelocationPass class.
...
llvm-svn: 204243
2014-03-19 15:45:55 +00:00
Simon Atanasyan
d8259fbcc3
[Mips] Move RelocationPass class member function definitions out of the
...
class.
llvm-svn: 204242
2014-03-19 15:45:49 +00:00
Simon Atanasyan
54f6f7bd77
[Mips] Replace "virtual" by "override" in member function declarations
...
where it is appropriate.
llvm-svn: 203102
2014-03-06 10:29:45 +00:00
Simon Atanasyan
bf987c2dae
[Mips] Handle R_MIPS_COPY relocation.
...
llvm-svn: 201129
2014-02-11 05:34:02 +00:00
Simon Atanasyan
9ab3b8db84
[Mips] Allocate local GOT entry for a global symbol defined in an
...
executable file.
llvm-svn: 199517
2014-01-17 21:18:45 +00:00
Simon Atanasyan
362bdc125e
[Mips] Implement .plt and .got.plt section creation.
...
llvm-svn: 199516
2014-01-17 21:18:37 +00:00
Simon Atanasyan
66338224be
[Mips] Handle R_MIPS_26 relocation. Maintaining of .plt and .got.plt
...
sections will be implemented later.
llvm-svn: 199515
2014-01-17 21:18:26 +00:00
Simon Atanasyan
c955a0cfd3
[Mips] Reduce the number of type-casting calls.
...
llvm-svn: 198855
2014-01-09 07:52:31 +00:00
Simon Atanasyan
073c2d2974
[Mips] GOT16 relocation against non-local symbol does not require a
...
paired LO16 relocation.
llvm-svn: 198790
2014-01-08 20:43:03 +00:00
Simon Atanasyan
2ab9f28977
[Mips] Factor out the code determines type of GOT entry (local/global)
...
into the separate function.
llvm-svn: 198788
2014-01-08 20:42:45 +00:00
Simon Atanasyan
50cf77bc2f
[Mips] Do not use standard relocation identifier R_MIPS_NONE for
...
internal purpose. Use special LLD_R_MIPS_GLOBAL_GOT constant for that.
llvm-svn: 198787
2014-01-08 20:42:38 +00:00
Simon Atanasyan
fc2e4e6a76
[Mips] Rename function to better reflect its purpose.
...
llvm-svn: 198786
2014-01-08 20:42:30 +00:00
Simon Atanasyan
eef5351416
[Mips] Do not save GOT headers atoms into the RelocationPass class
...
fields.
llvm-svn: 198785
2014-01-08 20:42:23 +00:00
Simon Atanasyan
30464f0293
[Mips] Rename some classes to skip redundant mentioning of 'mips'.
...
llvm-svn: 198784
2014-01-08 20:42:17 +00:00
Simon Atanasyan
6e0232ce59
[Mips] Move MipsGOTPass implementation to the separate file.
...
llvm-svn: 198783
2014-01-08 20:42:11 +00:00