diff options
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/plugin.cc | 24 |
2 files changed, 25 insertions, 4 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index dd60e69..02a007c 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2008-10-02 Cary Coutant <ccoutant@google.com> + + * plugin.cc (make_sized_plugin_object): Fix conditional + compilation to work when not all targets are enabled. + 2008-09-29 Cary Coutant <ccoutant@google.com> * archive.cc (Archive::get_file_and_offset): Use filename instead diff --git a/gold/plugin.cc b/gold/plugin.cc index 19f7619..a5f7a06 100644 --- a/gold/plugin.cc +++ b/gold/plugin.cc @@ -935,28 +935,44 @@ make_sized_plugin_object(Input_file* input_file, off_t offset) if (target->get_size() == 32) { -#ifdef HAVE_TARGET_32_BIG if (target->is_big_endian()) +#ifdef HAVE_TARGET_32_BIG obj = new Sized_pluginobj<32, true>(input_file->filename(), input_file, offset); +#else + gold_error(_("%s: not configured to support " + "32-bit big-endian object"), + input_file->filename().c_str()); #endif -#ifdef HAVE_TARGET_32_LITTLE else +#ifdef HAVE_TARGET_32_LITTLE obj = new Sized_pluginobj<32, false>(input_file->filename(), input_file, offset); +#else + gold_error(_("%s: not configured to support " + "32-bit little-endian object"), + input_file->filename().c_str()); #endif } else if (target->get_size() == 64) { -#ifdef HAVE_TARGET_64_BIG if (target->is_big_endian()) +#ifdef HAVE_TARGET_64_BIG obj = new Sized_pluginobj<64, true>(input_file->filename(), input_file, offset); +#else + gold_error(_("%s: not configured to support " + "64-bit big-endian object"), + input_file->filename().c_str()); #endif -#ifdef HAVE_TARGET_64_LITTLE else +#ifdef HAVE_TARGET_64_LITTLE obj = new Sized_pluginobj<64, false>(input_file->filename(), input_file, offset); +#else + gold_error(_("%s: not configured to support " + "64-bit little-endian object"), + input_file->filename().c_str()); #endif } |