Merge from gcc repository.

This commit is contained in:
Ian Lance Taylor 2009-10-06 20:14:06 +00:00
parent a12518a37c
commit 960bdc0e74
2 changed files with 47 additions and 2 deletions

View File

@ -1,3 +1,19 @@
2009-10-05 Rafael Espindola <espindola@google.com>
* plugin-api.h (ld_plugin_status): Add LDPS_BAD_HANDLE.
(ld_plugin_get_input_file): New.
(ld_plugin_release_input_file): New.
(ld_plugin_add_input_library): New.
(ld_plugin_message): Mark format const.
(ld_plugin_level): Add LDPT_GET_INPUT_FILE, LDPT_RELEASE_INPUT_FILE and
LDPT_ADD_INPUT_LIBRARY.
(ld_plugin_tv): Add tv_get_input_file, tv_release_input_file and
tv_add_input_library.
2009-10-04 Jerry Quinn <jlquinn@optonline.net>
* plugin-api.h: Fix compile.
2009-09-29 Jason Merrill <jason@redhat.com> 2009-09-29 Jason Merrill <jason@redhat.com>
* demangle.h (enum demangle_component_type): Add * demangle.h (enum demangle_component_type): Add

View File

@ -1,6 +1,6 @@
/* plugin-api.h -- External linker plugin API. */ /* plugin-api.h -- External linker plugin API. */
/* Copyright 2008 Free Software Foundation, Inc. /* Copyright 2009 Free Software Foundation, Inc.
Written by Cary Coutant <ccoutant@google.com>. Written by Cary Coutant <ccoutant@google.com>.
This file is part of binutils. This file is part of binutils.
@ -111,13 +111,34 @@ enum ld_plugin_symbol_visibility
enum ld_plugin_symbol_resolution enum ld_plugin_symbol_resolution
{ {
LDPR_UNKNOWN = 0, LDPR_UNKNOWN = 0,
/* Symbol is still undefined at this point. */
LDPR_UNDEF, LDPR_UNDEF,
/* This is the prevailing definition of the symbol, with references from
regular object code. */
LDPR_PREVAILING_DEF, LDPR_PREVAILING_DEF,
/* This is the prevailing definition of the symbol, with no
references from regular objects. It is only referenced from IR
code. */
LDPR_PREVAILING_DEF_IRONLY, LDPR_PREVAILING_DEF_IRONLY,
/* This definition was pre-empted by a definition in a regular
object file. */
LDPR_PREEMPTED_REG, LDPR_PREEMPTED_REG,
/* This definition was pre-empted by a definition in another IR file. */
LDPR_PREEMPTED_IR, LDPR_PREEMPTED_IR,
/* This symbol was resolved by a definition in another IR file. */
LDPR_RESOLVED_IR, LDPR_RESOLVED_IR,
/* This symbol was resolved by a definition in a regular object
linked into the main executable. */
LDPR_RESOLVED_EXEC, LDPR_RESOLVED_EXEC,
/* This symbol was resolved by a definition in a shared object. */
LDPR_RESOLVED_DYN LDPR_RESOLVED_DYN
}; };
@ -193,6 +214,12 @@ typedef
enum ld_plugin_status enum ld_plugin_status
(*ld_plugin_add_input_file) (char *pathname); (*ld_plugin_add_input_file) (char *pathname);
/* The linker's interface for adding a library that should be searched. */
typedef
enum ld_plugin_status
(*ld_plugin_add_input_library) (char *pathname);
/* The linker's interface for issuing a warning or error message. */ /* The linker's interface for issuing a warning or error message. */
typedef typedef
@ -224,7 +251,8 @@ enum ld_plugin_tag
LDPT_ADD_INPUT_FILE, LDPT_ADD_INPUT_FILE,
LDPT_MESSAGE, LDPT_MESSAGE,
LDPT_GET_INPUT_FILE, LDPT_GET_INPUT_FILE,
LDPT_RELEASE_INPUT_FILE LDPT_RELEASE_INPUT_FILE,
LDPT_ADD_INPUT_LIBRARY
}; };
/* The plugin transfer vector. */ /* The plugin transfer vector. */
@ -245,6 +273,7 @@ struct ld_plugin_tv
ld_plugin_message tv_message; ld_plugin_message tv_message;
ld_plugin_get_input_file tv_get_input_file; ld_plugin_get_input_file tv_get_input_file;
ld_plugin_release_input_file tv_release_input_file; ld_plugin_release_input_file tv_release_input_file;
ld_plugin_add_input_library tv_add_input_library;
} tv_u; } tv_u;
}; };