lto-plugin.c (add_input_library): New.
2009-10-08 Rafael Avila de Espindola <espindola@google.com> * lto-plugin.c (add_input_library): New. (all_symbols_read_handler): Use add_input_library for items that start with -l. (process_option): Fit in 80 columns. (onload): Handle LDPT_ADD_INPUT_LIBRARY. 2009-10-08 Rafael Avila de Espindola <espindola@google.com> * gcc.c (LINK_COMMAND_SPEC): Pass libc with -pass-through if it is being statically linked. From-SVN: r152558
This commit is contained in:
parent
d72ff618d3
commit
d520c7fb9d
@ -1,3 +1,8 @@
|
|||||||
|
2009-10-08 Rafael Avila de Espindola <espindola@google.com>
|
||||||
|
|
||||||
|
* gcc.c (LINK_COMMAND_SPEC): Pass libc with -pass-through if it is
|
||||||
|
being statically linked.
|
||||||
|
|
||||||
2009-10-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
2009-10-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||||
|
|
||||||
* collect2.c (add_lto_object): Only define if OBJECT_FORMAT_NONE.
|
* collect2.c (add_lto_object): Only define if OBJECT_FORMAT_NONE.
|
||||||
|
@ -775,6 +775,7 @@ proper position among the other output files. */
|
|||||||
-plugin-opt=%(lto_wrapper) \
|
-plugin-opt=%(lto_wrapper) \
|
||||||
-plugin-opt=%(lto_gcc) \
|
-plugin-opt=%(lto_gcc) \
|
||||||
%{static|static-libgcc:-plugin-opt=-pass-through=%(lto_libgcc)} \
|
%{static|static-libgcc:-plugin-opt=-pass-through=%(lto_libgcc)} \
|
||||||
|
%{static:-plugin-opt=-pass-through=-lc} \
|
||||||
%{O*:-plugin-opt=-O%*} \
|
%{O*:-plugin-opt=-O%*} \
|
||||||
%{w:-plugin-opt=-w} \
|
%{w:-plugin-opt=-w} \
|
||||||
%{f*:-plugin-opt=-f%*} \
|
%{f*:-plugin-opt=-f%*} \
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2009-10-08 Rafael Avila de Espindola <espindola@google.com>
|
||||||
|
|
||||||
|
* lto-plugin.c (add_input_library): New.
|
||||||
|
(all_symbols_read_handler): Use add_input_library for items that
|
||||||
|
start with -l.
|
||||||
|
(process_option): Fit in 80 columns.
|
||||||
|
(onload): Handle LDPT_ADD_INPUT_LIBRARY.
|
||||||
|
|
||||||
2009-10-02 Diego Novillo <dnovillo@google.com>
|
2009-10-02 Diego Novillo <dnovillo@google.com>
|
||||||
|
|
||||||
* Makefile.am (AM_CPPFLAGS): Remove -D_LARGEFILE_SOURCE
|
* Makefile.am (AM_CPPFLAGS): Remove -D_LARGEFILE_SOURCE
|
||||||
|
@ -81,6 +81,7 @@ static ld_plugin_register_all_symbols_read register_all_symbols_read;
|
|||||||
static ld_plugin_get_symbols get_symbols;
|
static ld_plugin_get_symbols get_symbols;
|
||||||
static ld_plugin_register_cleanup register_cleanup;
|
static ld_plugin_register_cleanup register_cleanup;
|
||||||
static ld_plugin_add_input_file add_input_file;
|
static ld_plugin_add_input_file add_input_file;
|
||||||
|
static ld_plugin_add_input_library add_input_library;
|
||||||
|
|
||||||
static struct plugin_file_info *claimed_files = NULL;
|
static struct plugin_file_info *claimed_files = NULL;
|
||||||
static unsigned int num_claimed_files = 0;
|
static unsigned int num_claimed_files = 0;
|
||||||
@ -467,7 +468,10 @@ all_symbols_read_handler (void)
|
|||||||
unsigned int i;
|
unsigned int i;
|
||||||
for (i = 0; i < num_pass_through_items; i++)
|
for (i = 0; i < num_pass_through_items; i++)
|
||||||
{
|
{
|
||||||
add_input_file (pass_through_items[i]);
|
if (strncmp (pass_through_items[i], "-l", 2) == 0)
|
||||||
|
add_input_library (pass_through_items[i] + 2);
|
||||||
|
else
|
||||||
|
add_input_file (pass_through_items[i]);
|
||||||
free (pass_through_items[i]);
|
free (pass_through_items[i]);
|
||||||
pass_through_items[i] = NULL;
|
pass_through_items[i] = NULL;
|
||||||
}
|
}
|
||||||
@ -607,8 +611,10 @@ process_option (const char *option)
|
|||||||
else if (!strncmp (option, "-pass-through=", strlen("-pass-through=")))
|
else if (!strncmp (option, "-pass-through=", strlen("-pass-through=")))
|
||||||
{
|
{
|
||||||
num_pass_through_items++;
|
num_pass_through_items++;
|
||||||
pass_through_items = realloc (pass_through_items, num_pass_through_items * sizeof (char *));
|
pass_through_items = realloc (pass_through_items,
|
||||||
pass_through_items[num_pass_through_items - 1] = strdup (option + strlen ("-pass-through="));
|
num_pass_through_items * sizeof (char *));
|
||||||
|
pass_through_items[num_pass_through_items - 1] =
|
||||||
|
strdup (option + strlen ("-pass-through="));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -655,6 +661,9 @@ onload (struct ld_plugin_tv *tv)
|
|||||||
case LDPT_ADD_INPUT_FILE:
|
case LDPT_ADD_INPUT_FILE:
|
||||||
add_input_file = p->tv_u.tv_add_input_file;
|
add_input_file = p->tv_u.tv_add_input_file;
|
||||||
break;
|
break;
|
||||||
|
case LDPT_ADD_INPUT_LIBRARY:
|
||||||
|
add_input_library = p->tv_u.tv_add_input_library;
|
||||||
|
break;
|
||||||
case LDPT_OPTION:
|
case LDPT_OPTION:
|
||||||
process_option (p->tv_u.tv_string);
|
process_option (p->tv_u.tv_string);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user