* ldgram.y: Add SPECIAL token.
commit01490f0f08dfb2566791f5a29e7c88571bb1937a
authorAlan Modra <amodra@bigpond.net.au>
Wed, 11 May 2005 14:10:10 +0000 (11 14:10 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Wed, 11 May 2005 14:10:10 +0000 (11 14:10 +0000)
tree4ec1356dac8dc6c1fd00101a2dedcee98ec66888
parent63c59b8dd52dd713dd0fd297865d7ca248f6cf36
* ldgram.y: Add SPECIAL token.
(sect_constraint): Handle SPECIAL.
* ldlang.c (lang_output_section_find_1): Don't match SPECIAL.
(map_input_to_output_sections): Likewise.
* ldlex.l (SPECIAL): Define.
* emulparams/elf32ppc.sh (DATA_GOT, SDATA_GOT, SEPARATE_GOTPLT,
GOT, PLT, GOTPLT): Define.
* emultempl/ppc32elf.em (old_plt, old_got): New static vars.
(ppc_after_open): New function.
(PARSE_AND_LIST_PROLOGUE): Define OPTION_OLD_LPT and OPTION_OLD_GOT.
(PARSE_AND_LIST_LONGOPTS): Add "bss-plt" and "sdata-got".
(PARSE_AND_LIST_OPTIONS): Document them.
(PARSE_AND_LIST_ARGS_CASES): Handle them.
(LDEMUL_AFTER_OPEN): Define.
* scripttempl/elf.sc (PLT): Don't override existing define.
(DATA_GOT, SDATA_GOT): Define and use to enable alternate got
placement rather than using NO_SMALL_DATA.  Emit GOTPLT for RELRO_NOW.
ld/ChangeLog
ld/emulparams/elf32ppc.sh
ld/emultempl/ppc32elf.em
ld/ldgram.y
ld/ldlang.c
ld/ldlex.l
ld/scripttempl/elf.sc