* ldemul.c (ldemul_list_emulations): New function.
* ldemul.h (ldemul_list_emulations): Declare. * ldver.c (help): List supported targets and emulations. PR 6345.
This commit is contained in:
parent
be1d162bb4
commit
b73b413106
12
ld/ChangeLog
12
ld/ChangeLog
@ -1,3 +1,15 @@
|
||||
Mon Mar 6 14:03:50 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* ldemul.c (ldemul_list_emulations): New function.
|
||||
* ldemul.h (ldemul_list_emulations): Declare.
|
||||
* ldver.c (help): List supported targets and emulations.
|
||||
|
||||
Fri Mar 3 15:40:36 1995 Doug Evans <dje@canuck.cygnus.com>
|
||||
|
||||
* scripttempl/elf.sc (.debug): Relocate to address 0.
|
||||
(.debug_srcinfo, .debug_aranges, .debug_pubnames,
|
||||
.debug_sfnames, .line): Likewise.
|
||||
|
||||
Fri Mar 3 17:07:14 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* emultempl/elf32.em (hold_rel): New static variable.
|
||||
|
52
ld/ldemul.c
52
ld/ldemul.c
@ -24,6 +24,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#include "ld.h"
|
||||
#include "ldemul.h"
|
||||
#include "ldmisc.h"
|
||||
#include "ldexp.h"
|
||||
#include "ldlang.h"
|
||||
#include "ldfile.h"
|
||||
#include "ldmain.h"
|
||||
#include "ldemul-list.h"
|
||||
@ -56,6 +58,12 @@ ldemul_before_parse()
|
||||
ld_emulation->before_parse();
|
||||
}
|
||||
|
||||
void
|
||||
ldemul_after_open ()
|
||||
{
|
||||
ld_emulation->after_open ();
|
||||
}
|
||||
|
||||
void
|
||||
ldemul_after_allocation()
|
||||
{
|
||||
@ -97,6 +105,26 @@ ldemul_get_script(isfile)
|
||||
return ld_emulation->get_script(isfile);
|
||||
}
|
||||
|
||||
boolean
|
||||
ldemul_open_dynamic_archive (arch, entry)
|
||||
const char *arch;
|
||||
lang_input_statement_type *entry;
|
||||
{
|
||||
if (ld_emulation->open_dynamic_archive)
|
||||
return (*ld_emulation->open_dynamic_archive) (arch, entry);
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean
|
||||
ldemul_place_orphan (file, s)
|
||||
lang_input_statement_type *file;
|
||||
asection *s;
|
||||
{
|
||||
if (ld_emulation->place_orphan)
|
||||
return (*ld_emulation->place_orphan) (file, s);
|
||||
return false;
|
||||
}
|
||||
|
||||
char *
|
||||
ldemul_choose_target()
|
||||
{
|
||||
@ -120,6 +148,11 @@ after_parse_default()
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
after_open_default ()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
after_allocation_default()
|
||||
{
|
||||
@ -140,6 +173,7 @@ set_output_arch_default()
|
||||
ldfile_output_architecture, ldfile_output_machine);
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
void
|
||||
syslib_default(ignore)
|
||||
char *ignore;
|
||||
@ -147,6 +181,7 @@ syslib_default(ignore)
|
||||
info_msg ("%S SYSLIB ignored\n");
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
void
|
||||
hll_default(ignore)
|
||||
char *ignore;
|
||||
@ -174,3 +209,20 @@ ldemul_choose_mode(target)
|
||||
}
|
||||
einfo("%P%F: unrecognised emulation mode: %s\n",target);
|
||||
}
|
||||
|
||||
void
|
||||
ldemul_list_emulations (f)
|
||||
FILE *f;
|
||||
{
|
||||
ld_emulation_xfer_type **eptr = ld_emulations;
|
||||
boolean first = true;
|
||||
|
||||
for (; *eptr; eptr++)
|
||||
{
|
||||
if (first)
|
||||
first = false;
|
||||
else
|
||||
fprintf (f, " ");
|
||||
fprintf (f, "%s", (*eptr)->emulation_name);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user