mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
elf2rpl, the host tool that turns the linked Wii U ELF into an RPL, is now a single C89 file, os/wiiu/wut/elf2rpl/main.c, in place of the C++ sources, their own ELF header, CRC-32 and endian helpers, and the Visual Studio project files. Big-endian fields go through retro_endianness.h; the byte swap the old be_val.h picked by PLATFORM_WINDOWS/PLATFORM_APPLE/PLATFORM_LINUX is gone with it, along with those defines - it did not build on any other host and swapped wrongly on a big-endian one. Section CRCs and import signatures come from libretro-common's encoding_crc32 instead of the bundled bytewise table. The input is read once and its sections used where they lie; symbol and import lookups by address are hash tables; the output is laid out in one buffer and written with one call. On a 7 MB core ELF with 41k relocations the RPL comes out byte for byte as before, and so does the log at every -v level, in about a quarter of the time (15 ms against 52 ms; 47 ms against 104 ms at -v -v -v -v). Malformed input now ends in an error instead of a crash: header, section, symbol and relocation offsets are checked against the file, a stub with no symbol behind it is reported, and an unknown option is refused rather than taken for the input file. The tool is built with the host C compiler (HOST_CC, gcc by default), which an exported devkitPPC CC no longer reaches. samples/frontend/wiiu_elf2rpl builds the C tool and adds checks that every section's SHT_RPL_CRCS entry is the zlib CRC-32 of its contents, and that truncated ELFs and an unknown option fail cleanly; it no longer needs the leak and alignment sanitizer exemptions the C++ tool did.
398 lines
9.1 KiB
Plaintext
398 lines
9.1 KiB
Plaintext
*.o
|
|
*.obj
|
|
*.pdb
|
|
*.exe
|
|
*.bmpobj
|
|
*.binobj
|
|
*.shbin
|
|
*.shbin.s
|
|
*.so
|
|
*.so.*
|
|
*.dll
|
|
*.a
|
|
*.elf
|
|
*.dol
|
|
*.map
|
|
*.swp
|
|
*.cache
|
|
*.gcda
|
|
gmon.out
|
|
# clang --analyze drops a .plist report per translation unit into the
|
|
# working directory. Anchored to the repository root so the tracked
|
|
# Info.plist / ExportOptions.plist files under pkg/apple are unaffected.
|
|
/*.plist
|
|
*.lcbk
|
|
*.gcno
|
|
.tmp
|
|
.tmp.c
|
|
.tmp.cxx
|
|
.moc.h
|
|
.moc.cpp
|
|
*.log
|
|
/.project
|
|
/.externalToolBuilders/
|
|
/retroarch
|
|
/retroarch.cfg
|
|
/retroarch.exe
|
|
/retroarch_debug.exe
|
|
/config.h
|
|
/config.mk
|
|
*.ncb
|
|
*.sdf
|
|
*.opensdf
|
|
*.suo
|
|
Debug
|
|
Release
|
|
ipch
|
|
*.user
|
|
/bootstrap/gx/wii/app_booter/app_booter.bin
|
|
/wii/app_booter/app_booter.bin
|
|
*.zip
|
|
RetroArch-w32/
|
|
RetroArch-w64/
|
|
.DS_Store
|
|
*/build/*
|
|
*.pbxuser
|
|
!default.pbxuser
|
|
*.mode1v3
|
|
!default.mode1v3
|
|
*.mode2v3
|
|
!default.mode2v3
|
|
*.perspectivev3
|
|
!default.perspectivev3
|
|
xcuserdata
|
|
profile
|
|
*.moved-aside
|
|
DerivedData
|
|
.idea/
|
|
*.hmap
|
|
apple/tmp
|
|
apple/*.mobileprovision
|
|
apple/RetroArch_iOS.xcodeproj/project.xcworkspace/*
|
|
/Cg/
|
|
/GL/
|
|
/SDL/
|
|
/SDL3/
|
|
/ffmpeg/
|
|
/freetype2/
|
|
/ft2build.h
|
|
/iconv.h
|
|
/phoenix/
|
|
/python/
|
|
/rsound.h
|
|
.pc
|
|
/media/shaders_glsl/
|
|
/media/shaders_slang/
|
|
/obj-w32/
|
|
.cproject
|
|
.settings
|
|
libretro-super
|
|
/run.sh
|
|
convert_rumble.awk
|
|
*~
|
|
assets
|
|
info
|
|
content_favorites.lpl
|
|
content_history.lpl
|
|
content_image_history.lpl
|
|
content_music_history.lpl
|
|
content_video_history.lpl
|
|
saves
|
|
screenshots
|
|
autoconfig
|
|
/config
|
|
/database
|
|
overlays
|
|
playlists
|
|
states
|
|
/cheats
|
|
thumbnails
|
|
docs/html
|
|
system
|
|
shaders/shaders_cg
|
|
shaders/shaders_glsl
|
|
shaders/shaders_slang
|
|
|
|
# Qt Creator
|
|
*.cflags
|
|
*.cxxflags
|
|
*.creator*
|
|
*.config
|
|
*.files
|
|
*.includes
|
|
|
|
# Wii U
|
|
*.depend
|
|
*.rpx
|
|
*.last
|
|
os/wiiu/wut/elf2rpl/elf2rpl
|
|
os/wiiu/wut/elf2rpl/elf2rpl.exe
|
|
/pkg/wiiu/retroarch
|
|
/pkg/wiiu/wiiu
|
|
/pkg/wiiu/rpx
|
|
/wiiu-devel.properties
|
|
|
|
# 3ds
|
|
/.lst
|
|
*.3dsx
|
|
*.cia
|
|
*.3ds
|
|
*.bnr
|
|
*.smdh
|
|
/retroarch_3ds.core
|
|
/retroarch_3ds.icn
|
|
/retroarch_3ds_salamander.icn
|
|
|
|
# Ctags
|
|
/tags
|
|
|
|
# CLion
|
|
/cmake-build-debug/
|
|
.run
|
|
|
|
# Android
|
|
/pkg/android/phoenix/obj/
|
|
/pkg/android/phoenix/assets/
|
|
/pkg/android/phoenix/libs/
|
|
/pkg/android/phoenix/bin/
|
|
/pkg/android/phoenix/gen/
|
|
/pkg/android/phoenix/local.properties
|
|
/pkg/android/phoenix/.gradle
|
|
/pkg/android/phoenix/.externalNativeBuild
|
|
/pkg/android/phoenix/build
|
|
/pkg/android/phoenix-legacy/.project
|
|
/pkg/android/phoenix-jelly-bean/**/.gradle/
|
|
/pkg/android/phoenix-jelly-bean/.cxx/
|
|
|
|
# Cloned by libretro-fetch.sh
|
|
/media/assets/
|
|
/media/autoconfig/
|
|
/media/overlays/
|
|
/media/shaders_cg/
|
|
/media/libretrodb/
|
|
|
|
compile_commands.json
|
|
pkg/apple/iOS/build/
|
|
pkg/apple/build/
|
|
ui/drivers/qt/moc_*
|
|
ui/drivers/moc_*
|
|
|
|
obj-unix/
|
|
.vagrant/
|
|
|
|
# Visual Studio
|
|
/pkg/msvc/Release Cg/*.iobj
|
|
/pkg/msvc/Release Cg/*.ipdb
|
|
/pkg/msvc/Release Cg/*.lpl
|
|
/pkg/msvc/Release Cg/*.cfg
|
|
/pkg/msvc/*.db
|
|
/pkg/msvc/.vs
|
|
/pkg/msvc/*/.vs
|
|
*.tlog
|
|
*.lastbuildstate
|
|
*.FileListAbsolute.txt
|
|
*.res
|
|
retroarch.cfg
|
|
Makefile.local
|
|
pkg/msvc/**/ARM
|
|
pkg/msvc/**/ARM64
|
|
pkg/msvc/**/* Cg
|
|
pkg/msvc/**/* QT
|
|
pkg/msvc/**/* QT+CG
|
|
pkg/msvc/**/x64
|
|
|
|
# Emscripten artifacts
|
|
|
|
retroarch.js
|
|
retroarch.js.mem
|
|
*.bc
|
|
*.wasm
|
|
*.wasm.map
|
|
obj-emscripten/
|
|
|
|
# only ignore .js files in the repo root
|
|
/*.js
|
|
|
|
# Switch
|
|
*.d
|
|
exefs/*
|
|
retroarch_switch.pfs0
|
|
retroarch_switch.lst
|
|
retroarch_switch.nacp
|
|
retroarch_switch.nro
|
|
retroarch_switch.nso
|
|
|
|
# PS2
|
|
*_irx.c
|
|
|
|
# Wayland
|
|
gfx/common/wayland/fractional-scale-v1.c
|
|
gfx/common/wayland/fractional-scale-v1.h
|
|
gfx/common/wayland/viewporter.c
|
|
gfx/common/wayland/viewporter.h
|
|
gfx/common/wayland/idle-inhibit-unstable-v1.c
|
|
gfx/common/wayland/idle-inhibit-unstable-v1.h
|
|
gfx/common/wayland/xdg-shell-unstable-v6.c
|
|
gfx/common/wayland/xdg-shell-unstable-v6.h
|
|
gfx/common/wayland/xdg-decoration-unstable-v1.h
|
|
gfx/common/wayland/xdg-decoration-unstable-v1.c
|
|
gfx/common/wayland/xdg-shell.c
|
|
gfx/common/wayland/xdg-shell.h
|
|
gfx/common/wayland/pointer-constraints-unstable-v1.c
|
|
gfx/common/wayland/pointer-constraints-unstable-v1.h
|
|
gfx/common/wayland/presentation-time.h
|
|
gfx/common/wayland/presentation-time.c
|
|
gfx/common/wayland/relative-pointer-unstable-v1.c
|
|
gfx/common/wayland/relative-pointer-unstable-v1.h
|
|
gfx/common/wayland/viewporter.c
|
|
gfx/common/wayland/viewporter.h
|
|
gfx/common/wayland/cursor-shape-v1.h
|
|
gfx/common/wayland/cursor-shape-v1.c
|
|
gfx/common/wayland/tablet-unstable-v2.h
|
|
gfx/common/wayland/tablet-unstable-v2.c
|
|
gfx/common/wayland/content-type-v1.h
|
|
gfx/common/wayland/content-type-v1.c
|
|
gfx/common/wayland/single-pixel-buffer-v1.h
|
|
gfx/common/wayland/single-pixel-buffer-v1.c
|
|
gfx/common/wayland/xdg-toplevel-icon-v1.h
|
|
gfx/common/wayland/xdg-toplevel-icon-v1.c
|
|
gfx/common/wayland/xdg-toplevel-tag-v1.h
|
|
gfx/common/wayland/xdg-toplevel-tag-v1.c
|
|
gfx/common/wayland/webos-foreign.c
|
|
gfx/common/wayland/webos-foreign.h
|
|
gfx/common/wayland/webos-input-manager.c
|
|
gfx/common/wayland/webos-input-manager.h
|
|
gfx/common/wayland/webos-shell.c
|
|
gfx/common/wayland/webos-shell.h
|
|
gfx/common/wayland/webos-surface-group.c
|
|
gfx/common/wayland/webos-surface-group.h
|
|
gfx/common/wayland/tearing-control-v1.h
|
|
gfx/common/wayland/tearing-control-v1.c
|
|
gfx/common/wayland/drm-lease-v1.h
|
|
gfx/common/wayland/drm-lease-v1.c
|
|
gfx/common/wayland/color-management-v1.c
|
|
gfx/common/wayland/color-management-v1.h
|
|
gfx/common/wayland/kde-output-device-v2.c
|
|
gfx/common/wayland/kde-output-device-v2.h
|
|
gfx/common/wayland/kde-output-management-v2.c
|
|
gfx/common/wayland/kde-output-management-v2.h
|
|
gfx/common/wayland/wlr-output-management-unstable-v1.c
|
|
gfx/common/wayland/wlr-output-management-unstable-v1.h
|
|
|
|
# samples/: built harness executables and objects. Each directory's
|
|
# test is <dir>_test; nothing built there is source.
|
|
samples/**/*_test
|
|
samples/**/*_test_*
|
|
samples/audio/stretch/stretch_bench
|
|
samples/gfx/rslc_corpus/rslc_corpus_dump
|
|
samples/gfx/rslc_reflect/rslc_reflect_check
|
|
samples/gfx/rslc_reflect/spirv_cross.o
|
|
samples/gfx/slang_blob_reflect/slang_blob_reflect_check
|
|
samples/gfx/rslc_image/pattern_core.so
|
|
samples/gfx/rslc_image/pattern_core.dll
|
|
samples/gfx/rslc_image/out/
|
|
samples/**/*.o
|
|
libretro-common/samples/**/*_test
|
|
libretro-common/samples/**/*_test_*
|
|
!libretro-common/samples/**/*_test/
|
|
!samples/**/*_test_*.c
|
|
!libretro-common/samples/**/*_test_*.c
|
|
!samples/**/*_test_*.h
|
|
!libretro-common/samples/**/*_test_*.h
|
|
# Harness executables that are not named <dir>_test. This one had been
|
|
# committed as a built binary, which made any make clean in that
|
|
# directory show up as a deletion.
|
|
samples/audio/embedded_alsa/abi_check
|
|
libretro-common/samples/rthreads/retro_eventcount_bench/retro_eventcount_bench
|
|
libretro-common/samples/rthreads/retro_eventcount_bench/retro_eventcount_bench_*
|
|
# The driver's text with its Windows includes swapped, produced by each
|
|
# suite's Makefile from audio/drivers/wasapi.c. Committed copies went
|
|
# stale against the driver they are generated from.
|
|
samples/audio/wasapi_exclusive_pacing/wasapi_sim.c
|
|
samples/audio/discrete_multichannel/wasapi_sim.c
|
|
samples/audio/wasapi_mic/wasapi_mic_sim.c
|
|
samples/gfx/font_lifecycle/lifecycle
|
|
samples/gfx/font_lifecycle/lifecycle-threaded
|
|
samples/gfx/font_lifecycle/create
|
|
samples/gfx/font_lifecycle/fallback
|
|
samples/gfx/font_lifecycle/chain
|
|
samples/gfx/font_lifecycle/frame
|
|
samples/gfx/font_lifecycle/vg
|
|
samples/gfx/font_lifecycle/sdl2
|
|
samples/gfx/slang_cache/mapped
|
|
samples/gfx/slang_cache/read
|
|
samples/tasks/database/database_task
|
|
samples/gfx/raster_tear_live/raster_tear_live
|
|
# The fake resizable-BAR layer's manifest, written by check-vulkan-rebar
|
|
# with the library name of the platform it is built on.
|
|
samples/gfx/threaded_video/fake_rebar_layer.json
|
|
# Generated by samples/gfx/wayland_drm_lease from the bundled protocol
|
|
# XML; the client half of the same pair lands in gfx/common/wayland.
|
|
samples/gfx/wayland_drm_lease/drm-lease-v1-client-protocol.h
|
|
# The golden-hash tests, one per video filter, named golden_<filter>
|
|
# beside their recorded golden_<filter>.h tables.
|
|
samples/gfx/filter_golden/golden_*
|
|
!samples/gfx/filter_golden/golden_*.h
|
|
samples/gfx/wayland_drm_lease/drm-lease-v1-server-protocol.h
|
|
samples/gfx/wayland_drm_lease/drm-lease-v1-protocol.c
|
|
|
|
# libretro-common samples
|
|
libretro-common/samples/streams/rzip/rzip
|
|
libretro-common/samples/audio/audio_mixer_loop/audio_mixer_loop_test
|
|
|
|
# DINGUX
|
|
*.opk
|
|
|
|
#VITA
|
|
param.sfo
|
|
*.wo
|
|
*.elf
|
|
*.self
|
|
*.vpk
|
|
/.vs
|
|
|
|
# Visual Studio Code
|
|
.vscode/
|
|
|
|
# Clazy
|
|
*.clazy.yaml
|
|
|
|
# PSL1GHT
|
|
*.SELF
|
|
EBOOT.BIN
|
|
pkg/psl1ght/*.pkg
|
|
modern_alpha_blend_fpo.h
|
|
modern_alpha_blend_vpo.h
|
|
modern_opaque_fpo.h
|
|
modern_opaque_vpo.h
|
|
gfx/drivers/rsx_shaders/modern_alpha_blend.fpo
|
|
gfx/drivers/rsx_shaders/modern_alpha_blend.vpo
|
|
gfx/drivers/rsx_shaders/modern_opaque.fpo
|
|
gfx/drivers/rsx_shaders/modern_opaque.vpo
|
|
pkg/psl1ght/pkg/USRDIR/shaders_cg/
|
|
!pkg/psl1ght/pkg/USRDIR/system/
|
|
samples/audio/embedded_alsa/ealsa_abi.h
|
|
|
|
# Python bytecode caches, written by tools/*.py whenever they run.
|
|
__pycache__/
|
|
*.pyc
|
|
samples/audio/asio_clock/asio_clock_driver.h
|
|
samples/gfx/integer_scale_axis/integer_scale_driver.h
|
|
samples/gfx/coord_array/coord_array_driver.h
|
|
samples/gfx/integer_scale_axis/integer_scale_axis_test
|
|
|
|
# os/wiiu/slang host tool
|
|
/os/wiiu/slang/slang-cafe
|
|
/os/wiiu/slang/slang-cafe.exe
|
|
samples/gfx/vulkan_upscaler/Zdir/
|
|
samples/gfx/vulkan_upscaler/Zdir_fsr/
|
|
samples/gfx/vulkan_upscaler/Zdir_xess/
|
|
samples/gfx/vulkan_upscaler/Zdir_none/
|
|
samples/gfx/d3d12_upscaler/Zdir/
|
|
samples/gfx/d3d12_upscaler/Zdir_fsr/
|
|
samples/gfx/d3d12_upscaler/Zdir_xess/
|
|
samples/gfx/d3d12_upscaler/Zdir_none/
|
|
samples/record/ffmpeg_pipeline/record_finalize_fragment.c
|
|
samples/record/ffmpeg_pipeline/record_start_fragment.c
|
|
samples/input/sensor_subdevice/core_sensor_fragment.c
|