xref: /netbsd-src/external/gpl3/binutils.old/dist/ld/emultempl/irix.em (revision e992f068c547fd6e84b3f104dc2340adcc955732)
1# This shell script emits a C file. -*- C -*-
2#   Copyright (C) 2004-2022 Free Software Foundation, Inc.
3#
4# This file is part of the GNU Binutils.
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19# MA 02110-1301, USA.
20#
21
22# This file is sourced from elf.em, and defines extra irix specific
23# functions.
24
25fragment <<EOF
26
27/* The native IRIX linker will always create a DT_SONAME for shared objects.
28   While this shouldn't really be necessary for ABI conformance, some versions
29   of the native linker will segfault if the tag is missing.  */
30
31static void
32irix_after_open (void)
33{
34  if (bfd_link_dll (&link_info) && command_line.soname == 0)
35    command_line.soname
36      = (char *) lbasename (bfd_get_filename (link_info.output_bfd));
37
38  gld${EMULATION_NAME}_after_open ();
39}
40EOF
41
42LDEMUL_AFTER_OPEN=irix_after_open
43source_em "${srcdir}/emultempl/mipself.em"
44