Always link with --gc-sections

Bug #1506672 reported by Chris Coulson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.