libretro-bsnes-mercury FTBFS with LTO

Bug #2015742 reported by Graham Inggs
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libretro-bsnes-mercury (Debian)
New
Unknown
libretro-bsnes-mercury (Ubuntu)
New
Undecided
Unassigned
lto-disabled-list (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

libretro-bsnes-mercury 094+git20220807-6 FTBFS when built with LTO enabled.

gb/interface/interface.o gb/system/system.o gb/scheduler/scheduler.o gb/memory/memory.o gb/cartridge/cartridge.o gb/cpu/cpu.o gb/ppu/ppu.o gb/apu/apu.o gb/cheat/cheat.o gb/video/video.o sfc/interface/interface.o sfc/base/satellaview/satellaview.o sfc/system/system.o sfc/controller/controller.o sfc/cartridge/cartridge.o sfc/cheat/cheat.o sfc/memory/memory.o sfc/chip/icd2/icd2.o sfc/chip/bsx/bsx.o sfc/chip/nss/nss.o sfc/chip/event/event.o sfc/chip/sa1/sa1.o sfc/chip/superfx/superfx.o sfc/chip/armdsp/armdsp.o sfc/chip/hitachidsp/hitachidsp.o sfc/chip/necdsp/necdsp.o sfc/chip/epsonrtc/epsonrtc.o sfc/chip/sharprtc/sharprtc.o sfc/chip/spc7110/spc7110.o sfc/chip/sdd1/sdd1.o sfc/chip/obc1/obc1.o sfc/chip/hsu1/hsu1.o sfc/chip/msu1/msu1.o sfc/slot/satellaview/satellaview.o sfc/slot/sufamiturbo/sufamiturbo.o sfc/chip/dsp1/dsp1.o sfc/chip/dsp2/dsp2.o sfc/chip/dsp3/dsp3.o sfc/chip/dsp4/dsp4.o sfc/chip/cx4/cx4.o sfc/chip/st0010/st0010.o sfc/chip/sgb-external/sgb-external.o target-libretro/libretro.o sfc/cpu/cpu.o sfc/smp/smp.o sfc/dsp/dsp.o sfc/ppu/ppu.o libco/libco.o -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,--no-undefined -ldl -fPIC -shared -Wl,--no-undefined -Wl,--version-script=target-libretro/link.T
./sfc/memory/memory.hpp:50:8: warning: type ‘struct Bus’ violates the C++ One Definition Rule [-Wodr]
   50 | struct Bus {
      | ^
./sfc/memory/memory.hpp:50:8: note: a different type is defined in another translation unit
   50 | struct Bus {
      | ^
./sfc/memory/memory.hpp:80:35: note: the first difference of corresponding definitions is field ‘libretro_mem_map’
   80 | vector<retro_memory_descriptor> libretro_mem_map;
      | ^
./sfc/memory/memory.hpp:80:35: note: a field of same name but different type is defined in another translation unit
   80 | vector<retro_memory_descriptor> libretro_mem_map;
      | ^
./nall/vector.hpp:15:29: note: type name ‘nall::vector<SuperFamicom::retro_memory_descriptor>’ should match type name ‘nall::vector<retro_memory_descriptor>
   15 | template<typename T> struct vector {
      | ^
./sfc/memory/memory.hpp:87:12: warning: ‘bus’ violates the C++ One Definition Rule [-Wodr]
   87 | extern Bus bus;
      | ^
./sfc/memory/memory.hpp:50:8: note: type ‘struct Bus’ itself violates the C++ One Definition Rule
   50 | struct Bus {
      | ^
sfc/memory/memory.cpp:7:5: note: ‘bus’ was previously declared here
    7 | Bus bus;
      | ^
In member function ‘op_readpc’,
    inlined from ‘enter’ at sfc/chip/sa1/sa1.cpp:35:35,
    inlined from ‘Enter’ at sfc/chip/sa1/sa1.cpp:14:30:
sfc/chip/sa1/memory/memory.cpp:116:7: error: inlining failed in call to ‘always_inline’ ‘op_read’: function not considered for inlining
  116 | uint8 SA1::op_read(unsigned addr) {
      | ^
./processor/r65816/memory.hpp:2:17: note: called from here
    2 | return op_read((regs.pc.b << 16) + regs.pc.w++);
      | ^

Graham Inggs (ginggs)
tags: added: update-excuse
Changed in libretro-bsnes-mercury (Debian):
status: Unknown → New
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lto-disabled-list - 39

---------------
lto-disabled-list (39) lunar; urgency=medium

  * Add libretro-bsnes-mercury to avoid FTBFS (LP: #2015742)

 -- Graham Inggs <email address hidden> Mon, 10 Apr 2023 11:53:46 +0000

Changed in lto-disabled-list (Ubuntu):
status: New → 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.