[Bug 2015742] [NEW] libretro-bsnes-mercury FTBFS with LTO
Graham Inggs
2015742 at bugs.launchpad.net
Mon Apr 10 09:58:06 UTC 2023
Public bug reported:
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++);
| ^
** Affects: libretro-bsnes-mercury (Ubuntu)
Importance: Undecided
Status: New
** Affects: lto-disabled-list (Ubuntu)
Importance: Undecided
Status: New
** Affects: libretro-bsnes-mercury (Debian)
Importance: Unknown
Status: Unknown
** Tags: update-excuse
** Bug watch added: Debian Bug tracker #1015518
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1015518
** Also affects: libretro-bsnes-mercury (Debian) via
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1015518
Importance: Unknown
Status: Unknown
** Also affects: lto-disabled-list (Ubuntu)
Importance: Undecided
Status: New
** Tags added: update-excuse
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to lto-disabled-list in Ubuntu.
https://bugs.launchpad.net/bugs/2015742
Title:
libretro-bsnes-mercury FTBFS with LTO
Status in libretro-bsnes-mercury package in Ubuntu:
New
Status in lto-disabled-list package in Ubuntu:
New
Status in libretro-bsnes-mercury package in Debian:
Unknown
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++);
| ^
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libretro-bsnes-mercury/+bug/2015742/+subscriptions
More information about the foundations-bugs
mailing list