Rafael Espindola 4f013bb3b2 Create an OutputSection for each non-empty OutputSectionCommand.
We were already pretty close, the one exception was when a name was
reused in another SECTIONS directive:

SECTIONS {
  .text : { *(.text) }
  .data : { *(.data) }
}
SECTIONS {
  .data : { *(other) }
}

In this case we would create a single .data and magically output
"other" while looking at the first OutputSectionCommand.

We now create two .data sections. This matches what gold does. If we
really want to create a single one, we should change the parser so that
the above is parsed as if the user had written

SECTIONS {
  .text : { *(.text) }
  .data : { *(.data) *(other)}
}

That is, there should be only one OutputSectionCommand for .data and
it would have two InputSectionDescriptions.

By itself this patch makes the code a bit more complicated, but is an
important step in allowing assignAddresses to operate just on the
linker script.

llvm-svn: 301484
2017-04-26 22:30:15 +00:00
..
2017-03-17 13:19:15 +00:00
2016-09-02 20:40:53 +00:00
2017-02-21 15:10:30 +00:00
2017-04-12 22:38:02 +00:00
2016-10-31 21:36:23 +00:00
2016-09-02 20:40:53 +00:00
2016-07-29 19:24:27 +00:00
2017-04-13 23:40:00 +00:00
2016-11-21 20:20:04 +00:00
2016-09-02 20:40:53 +00:00
2017-04-12 23:16:52 +00:00
2017-02-03 21:29:51 +00:00
2016-09-22 12:35:44 +00:00
2017-04-12 22:38:02 +00:00
2016-09-02 20:40:53 +00:00
2016-12-07 20:10:43 +00:00
2017-04-12 22:38:02 +00:00
2016-09-02 20:40:53 +00:00
2017-04-12 22:38:02 +00:00
2016-09-02 20:40:53 +00:00
2016-09-02 20:40:53 +00:00
2016-09-02 20:40:53 +00:00
2016-10-31 21:36:23 +00:00
2016-09-02 20:40:53 +00:00
2016-09-30 00:16:11 +00:00