compiler: Always put descriptor wrappers in their own section.
This lets the linker GC them. From-SVN: r201442
This commit is contained in:
parent
d62d515246
commit
aa7e089fdc
1 changed files with 6 additions and 0 deletions
|
@ -3582,6 +3582,12 @@ Function::make_descriptor_wrapper(Gogo* gogo, Named_object* no,
|
|||
Named_object* dno = gogo->start_function(name, new_fntype, false, loc);
|
||||
dno->func_value()->is_descriptor_wrapper_ = true;
|
||||
|
||||
// Put the wrapper in a unique section so that it can be discarded
|
||||
// by the linker if it is not needed. Every top-level function will
|
||||
// get a wrapper, in case there is a reference other than a call
|
||||
// from some other package, but most will not need one.
|
||||
dno->func_value()->set_in_unique_section();
|
||||
|
||||
gogo->start_block(loc);
|
||||
|
||||
Expression* fn = Expression::make_func_reference(no, NULL, loc);
|
||||
|
|
Loading…
Add table
Reference in a new issue