Always link with --gc-sections

Bug #1506672 reported by Chris Coulson on 2015-10-15
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
High
Chris Coulson

Bug Description

Debug builds don't link with --gc-sections, which can cause link failures when translation units built with RTTI pull in inline constructors for classes that derive from classes whose constructors are defined in translation units built without RTTI, even if those classes aren't instantiated.

Eg:

obj/qt/core/libOxideQtCore_public.a(obj/qt/core/api/OxideQtCore_public.oxideqglobal.o):oxideqglobal.cc:typeinfo for base::DelayTimer: error: undefined reference to 'typeinfo for base::Timer'.

base::DelayedTimer has an inline constructor and derives from base::Timer, whose constructor is defined in another translation unit. However, oxideqglobal.cc never instantiates base::DelayedTimer (it does indirectly pull in base/timers/timer.h).

Linking with --gc-sections fixes this

Changed in oxide:
importance: Undecided → High
status: New → Triaged
Changed in oxide:
milestone: none → branch-1.11
assignee: nobody → Chris Coulson (chrisccoulson)
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers