Simon Atanasyan
493b163f5d
[mips] Do not include offset into %got
expression for global symbols
...
Now pseudo instruction `la $6, symbol+8($6)` is expanding into the following
chain of commands:
```
lw $1, %got(symbol+8)($gp)
addiu $1, $1, 8
addu $6, $1, $6
```
This is incorrect. When a linker handles the `R_MIPS_GOT16` relocation,
it does not expect to get any addend and breaks on assertion. Otherwise
it has to create new GOT entry for each unique "sym + offset" pair.
Offset for a global symbol should be added to result of loading GOT
entry by a separate `add` command.
The patch fixes the problem by stripping off an offset from the expression
passed to the `%got`. That's interesting that even current code inserts
a separate `add` command.
Differential Revision: https://reviews.llvm.org/D66552
llvm-svn: 369755
2019-08-23 13:36:14 +00:00
..
2018-04-12 14:41:38 +00:00
2019-05-01 05:27:20 +00:00
2017-06-07 14:48:46 +00:00
2018-04-24 16:14:00 +00:00
2019-05-01 05:27:20 +00:00
2018-12-12 07:03:04 +00:00
2018-11-06 14:37:24 +00:00
2017-12-20 11:02:42 +00:00
2016-05-17 09:32:58 +00:00
2016-05-13 11:32:53 +00:00
2019-06-12 17:52:05 +00:00
2019-07-27 08:13:27 +00:00
2018-08-29 11:35:03 +00:00
2018-08-29 11:35:03 +00:00
2018-06-20 19:59:58 +00:00
2018-06-01 10:46:00 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-06-19 22:08:06 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2018-11-06 14:37:24 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2017-02-01 18:50:24 +00:00
2017-02-02 16:13:49 +00:00
2019-07-15 21:46:38 +00:00
2019-05-15 12:05:27 +00:00
2019-05-15 12:05:27 +00:00
2018-12-12 07:03:04 +00:00
2019-07-17 08:11:31 +00:00
2019-07-17 08:11:31 +00:00
2016-05-18 00:27:17 +00:00
2018-12-15 08:44:47 +00:00
2018-12-12 07:03:04 +00:00
2018-12-12 07:03:04 +00:00
2018-12-12 07:03:04 +00:00
2016-10-12 13:58:07 +00:00
2019-01-10 14:55:26 +00:00
2019-05-01 05:27:20 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2016-04-29 16:16:49 +00:00
2019-05-15 12:05:27 +00:00
2016-05-16 09:10:13 +00:00
2016-05-16 09:10:13 +00:00
2017-01-27 11:36:52 +00:00
2017-09-21 10:44:26 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 09:28:24 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2017-12-04 17:18:51 +00:00
2018-09-17 21:21:57 +00:00
2017-12-04 17:18:51 +00:00
2019-07-22 17:48:53 +00:00
2017-12-04 17:18:51 +00:00
2019-05-01 05:27:20 +00:00
2018-12-12 07:03:04 +00:00
2018-12-12 07:03:04 +00:00
2016-08-08 11:50:25 +00:00
2016-05-09 10:21:14 +00:00
2016-04-08 18:15:37 +00:00
2016-06-03 10:22:22 +00:00
2016-04-08 18:15:37 +00:00
2016-05-18 11:58:50 +00:00
2019-05-01 05:27:20 +00:00
2018-04-19 09:45:04 +00:00
2016-04-08 18:15:37 +00:00
2018-12-12 07:03:04 +00:00
2018-12-12 07:03:04 +00:00
2019-06-17 09:51:07 +00:00
2018-12-12 07:03:04 +00:00
2017-10-10 13:34:45 +00:00
2019-07-15 21:46:38 +00:00
2016-05-16 08:57:59 +00:00
2018-07-09 13:06:44 +00:00
2016-05-16 08:57:59 +00:00
2017-02-13 16:06:48 +00:00
2017-02-13 16:06:48 +00:00
2017-02-13 16:06:48 +00:00
2017-02-13 16:06:48 +00:00
2017-02-13 16:06:48 +00:00
2017-06-30 15:44:27 +00:00
2017-06-30 15:44:27 +00:00
2017-02-06 12:43:46 +00:00
2018-07-09 13:06:44 +00:00
2018-07-09 13:06:44 +00:00
2019-08-23 13:36:14 +00:00
2016-07-19 10:49:03 +00:00
2019-03-13 13:09:30 +00:00
2016-10-05 18:26:19 +00:00
2017-05-30 09:33:43 +00:00
2017-01-22 20:28:56 +00:00
2017-05-30 09:33:43 +00:00
2018-07-09 13:06:44 +00:00
2018-07-09 13:06:44 +00:00
2016-11-21 20:30:41 +00:00
2019-07-09 12:55:55 +00:00
2019-07-09 12:55:55 +00:00
2019-07-09 12:55:42 +00:00
2019-07-09 12:55:42 +00:00
2016-10-18 15:17:17 +00:00
2018-03-13 14:39:44 +00:00
2018-06-19 16:05:44 +00:00
2017-12-11 11:21:40 +00:00
2018-05-29 09:56:19 +00:00
2019-05-01 09:28:24 +00:00
2016-06-15 07:46:24 +00:00
2019-05-01 05:27:20 +00:00
2019-01-09 15:58:02 +00:00
2019-01-09 15:58:02 +00:00
2018-04-26 16:06:34 +00:00
2019-01-09 15:58:02 +00:00
2018-03-13 14:39:44 +00:00
2018-05-10 16:01:18 +00:00
2018-05-14 13:18:51 +00:00
2018-05-15 11:18:24 +00:00
2016-04-19 23:51:52 +00:00
2018-04-24 16:14:00 +00:00
2019-01-09 15:58:02 +00:00
2019-05-01 09:28:24 +00:00
2019-05-01 09:28:24 +00:00
2018-05-08 10:16:21 +00:00
2018-05-15 16:05:04 +00:00
2018-05-31 12:47:01 +00:00
2016-05-03 13:35:44 +00:00
2016-04-27 11:02:23 +00:00
2019-01-09 15:58:02 +00:00
2019-08-01 16:04:29 +00:00
2017-02-28 15:55:23 +00:00
2017-06-22 15:24:16 +00:00
2017-06-22 15:24:16 +00:00
2019-05-01 05:27:20 +00:00
2017-12-11 11:21:40 +00:00
2016-06-03 10:22:22 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2018-05-29 09:51:22 +00:00
2018-05-29 15:58:06 +00:00
2017-12-04 17:18:51 +00:00
2018-04-26 16:06:34 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2016-06-24 12:23:17 +00:00
2019-08-23 13:36:14 +00:00
2018-02-20 15:55:17 +00:00
2019-07-15 21:46:38 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2018-04-24 16:14:00 +00:00
2017-06-22 15:24:16 +00:00
2017-10-05 17:40:32 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2017-02-20 10:53:03 +00:00
2019-01-10 14:55:26 +00:00
2019-05-01 05:27:20 +00:00
2018-12-12 07:03:04 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2018-10-09 11:29:45 +00:00
2017-12-04 17:18:51 +00:00
2018-11-21 16:28:39 +00:00
2018-11-21 16:28:39 +00:00
2018-11-22 18:18:58 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2019-05-01 05:27:20 +00:00
2016-04-12 15:28:16 +00:00
2016-06-16 09:17:03 +00:00
2017-10-05 17:40:32 +00:00
2018-12-12 07:03:04 +00:00
2017-02-02 16:13:49 +00:00
2016-05-05 14:15:46 +00:00
2019-03-19 15:15:35 +00:00
2017-03-15 13:10:08 +00:00
2016-05-09 10:21:14 +00:00
2019-05-01 05:27:20 +00:00
2019-08-07 12:21:26 +00:00
2017-12-20 11:02:42 +00:00
2019-04-27 16:12:14 +00:00
2018-12-29 10:10:02 +00:00
2018-12-12 07:03:04 +00:00
2019-07-22 17:48:53 +00:00