pie: Fix pie.lds.S.in script to work with the gold linker

The pie.lds.S.in needs two minor changes to work with the gold (/usr/bin/gold)
linker. These changes are compatible with /usr/bin/ld and make linker script
more portable.

The first change is adding a comma before /DISCARD/ so that the grammar
won't be ambiguous. A Otherwise, gold treats it as a part of the assignment
and would generate a syntax error about the "unexpected ':'".

The second change is moving initialization of __export_parasite_args
to inside the SECTIONS command because it references the dot symbol.
Otherwise, gold would generate the error "invalid reference to dot
symbol outside of SECTIONS clause.

Signed-off-by: Saied Kazemi <saied@google.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
Saied Kazemi 2014-03-11 10:36:07 +04:00 committed by Pavel Emelyanov
parent 21be99515a
commit 8d8d638454

View file

@ -12,7 +12,7 @@ SECTIONS
. = ALIGN(32);
*(.got*)
. = ALIGN(32);
} =0x00000000
} =0x00000000,
/DISCARD/ : {
*(.debug*)
@ -22,6 +22,6 @@ SECTIONS
*(.eh_frame*)
*(*)
}
}
__export_parasite_args = .;
}