[ARC] don't force _init/_fini as DT_INIT/DT_FINI.

Recent gcc commit b4371b277f1e ("[ARC] Enable init_array support")
inhibits DT_"INIT,FINI} in favor of DT_{INIT,FINI}ARRAY.

Even prior to that, it seems ARC port is the only one with this
special DT_INIT/FINI handling in linker emulation. Removing it
doesn't seem to change any uClibc/glibc testsuite results,
so this can RIP anyways.

bfd/
    2019-02-01  Vineet Gupta <vgupta@synopsys.com>

           * elf32-arc.c: Delete init_str, fini_str

ld/
    2019-02-01  Vineet Gupta <vgupta@synopsys.com>

           * emultempl/arclinux.em : Delete special INIT/FINI handling.
This commit is contained in:
Claudiu Zissulescu 2019-02-09 11:07:42 +01:00
parent d1ea488747
commit a0e90a73f0
4 changed files with 12 additions and 38 deletions

View File

@ -1,3 +1,10 @@
2019-02-09 Vineet Gupta <vgupta@synopsys.com>
* elf32-arc (INIT_SYM_STRING): Delete.
(FINI_SYM_STRING): Likewise.
(init_str): Likewise.
(fini_str): Likewise.
2019-02-08 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported

View File

@ -71,16 +71,6 @@ name_for_global_symbol (struct elf_link_hash_entry *h)
} \
}
/* The default symbols representing the init and fini dyn values.
TODO: Check what is the relation of those strings with arclinux.em
and DT_INIT. */
#define INIT_SYM_STRING "_init"
#define FINI_SYM_STRING "_fini"
char * init_str = INIT_SYM_STRING;
char * fini_str = FINI_SYM_STRING;
#define ARC_RELOC_HOWTO(TYPE, VALUE, SIZE, BITSIZE, RELOC_FUNCTION, OVERFLOW, FORMULA) \
case VALUE: \
return "R_" #TYPE; \

View File

@ -1,3 +1,7 @@
2019-02-09 Vineet Gupta <vgupta@synopsys.com>
* emultempl/arclinux.em: Delete special INIT/FINI handling.
2019-02-07 Nick Clifton <nickc@redhat.com>
PR 24175

View File

@ -1,7 +1,7 @@
# This shell script emits a C file. -*- C -*-
# Copyright (C) 2007-2019 Free Software Foundation, Inc.
#
# Copyright 2008-2012 Synopsys Inc.
# Copyright 2008-2019 Synopsys Inc.
#
# This file is part of GLD, the Gnu Linker.
#
@ -23,30 +23,3 @@
# This file is sourced from elf32.em, and defines extra arc-linux
# specific routines.
#
cat >>e${EMULATION_NAME}.c <<EOF
extern char * init_str;
extern char * fini_str;
EOF
PARSE_AND_LIST_PROLOGUE='
#define OPTION_INIT 300+1
#define OPTION_FINI (OPTION_INIT+1)
'
PARSE_AND_LIST_LONGOPTS='
/* PE options */
{ "init", required_argument, NULL, OPTION_INIT },
{ "fini", required_argument, NULL, OPTION_FINI },
'
# FIXME: Should set PARSE_AND_LIST_OPTIONS to provide a short description
# of the options.
PARSE_AND_LIST_ARGS_CASES='
case OPTION_FINI:
fini_str = optarg;
break;
case OPTION_INIT:
init_str = optarg;
break;
'