* plugin.cc (Plugin::load): Don't cast from void* to a function
pointer.
This commit is contained in:
parent
8a2c8fef19
commit
b59befec8e
2 changed files with 10 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2009-12-09 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* plugin.cc (Plugin::load): Don't cast from void* to a function
|
||||
pointer.
|
||||
|
||||
2009-12-09 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* dynobj.cc (Sized_dynobj::do_read_symbols): Clear version
|
||||
|
|
|
@ -109,14 +109,16 @@ Plugin::load()
|
|||
}
|
||||
|
||||
// Find the plugin's onload entry point.
|
||||
ld_plugin_onload onload = reinterpret_cast<ld_plugin_onload>
|
||||
(dlsym(this->handle_, "onload"));
|
||||
if (onload == NULL)
|
||||
void* ptr = dlsym(this->handle_, "onload");
|
||||
if (ptr == NULL)
|
||||
{
|
||||
gold_error(_("%s: could not find onload entry point"),
|
||||
this->filename_.c_str());
|
||||
return;
|
||||
}
|
||||
ld_plugin_onload onload;
|
||||
gold_assert(sizeof(onload) == sizeof(ptr));
|
||||
memcpy(&onload, &ptr, sizeof(ptr));
|
||||
|
||||
// Get the linker's version number.
|
||||
const char* ver = get_version_string();
|
||||
|
|
Loading…
Reference in a new issue