diff --git a/config/SALP4Q/splits.txt b/config/SALP4Q/splits.txt index 1112c33..66a2e9a 100644 --- a/config/SALP4Q/splits.txt +++ b/config/SALP4Q/splits.txt @@ -34,18 +34,23 @@ K/KServices/KServiceCounter/CKTimeCounter.cpp: .data start:0x8050BC00 end:0x8050BDA8 .sdata start:0x805F2B78 end:0x805F2B80 -Libraries/zlib/inffast.c: - .rodata start:0x804E1448 end:0x804E1498 - main.cpp: .text start:0x802AE234 end:0x802AE3AC .bss start:0x805567B8 end:0x805567D8 +Libraries/zlib/inffast.c: + .text start:0x8035C560 end:0x8035CAF0 + .rodata start:0x804E1448 end:0x804E1498 + +Libraries/zlib/inflate.c: + .text start:0x8035CAF0 end:0x8035E6F4 + Libraries/zlib/inftrees.c: .text start:0x8035E6F4 end:0x8035EE70 .rodata start:0x804E1EF0 end:0x804E2020 Libraries/zlib/zutil.c: + .text start:0x8036129C end:0x803612F4 .rodata start:0x804E2A58 end:0x804E2B00 Revolution/BASE/PPCArch.c: diff --git a/config/SALP4Q/symbols.txt b/config/SALP4Q/symbols.txt index 83f2289..d3891dc 100644 --- a/config/SALP4Q/symbols.txt +++ b/config/SALP4Q/symbols.txt @@ -35889,8 +35889,8 @@ fn_80357C6C = .text:0x80357C6C; // type:function size:0xEC fn_80357D58 = .text:0x80357D58; // type:function size:0x150 fn_80357EA8 = .text:0x80357EA8; // type:function size:0x8 fn_80357EB0 = .text:0x80357EB0; // type:function size:0x8 -fn_80357EB8 = .text:0x80357EB8; // type:function size:0x42C -fn_803582E4 = .text:0x803582E4; // type:function size:0x4C +adler32 = .text:0x80357EB8; // type:function size:0x42C +crc32 = .text:0x803582E4; // type:function size:0x4C fn_80358330 = .text:0x80358330; // type:function size:0x46C fn_8035879C = .text:0x8035879C; // type:function size:0x4F0 fn_80358C8C = .text:0x80358C8C; // type:function size:0x2E4 @@ -35928,13 +35928,13 @@ fn_8035C334 = .text:0x8035C334; // type:function size:0xB4 fn_8035C3E8 = .text:0x8035C3E8; // type:function size:0x78 fn_8035C460 = .text:0x8035C460; // type:function size:0x7C fn_8035C4DC = .text:0x8035C4DC; // type:function size:0x84 -fn_8035C560 = .text:0x8035C560; // type:function size:0x590 -fn_8035CAF0 = .text:0x8035CAF0; // type:function size:0x80 -fn_8035CB70 = .text:0x8035CB70; // type:function size:0x154 -fn_8035CCC4 = .text:0x8035CCC4; // type:function size:0x2C -fn_8035CCF0 = .text:0x8035CCF0; // type:function size:0x188 -fn_8035CE78 = .text:0x8035CE78; // type:function size:0x17F4 -fn_8035E66C = .text:0x8035E66C; // type:function size:0x88 +inflate_fast = .text:0x8035C560; // type:function size:0x590 +inflateReset = .text:0x8035CAF0; // type:function size:0x80 +inflateInit2_ = .text:0x8035CB70; // type:function size:0x154 +fixedtables = .text:0x8035CCC4; // type:function size:0x2C scope:local +updatewindow = .text:0x8035CCF0; // type:function size:0x188 scope:local +inflate = .text:0x8035CE78; // type:function size:0x17F4 +inflateEnd = .text:0x8035E66C; // type:function size:0x88 inflate_table = .text:0x8035E6F4; // type:function size:0x77C fn_8035EE70 = .text:0x8035EE70; // type:function size:0x4 fn_8035EE74 = .text:0x8035EE74; // type:function size:0x88 @@ -35959,10 +35959,10 @@ fn_80361080 = .text:0x80361080; // type:function size:0x1B8 fn_80361238 = .text:0x80361238; // type:function size:0x18 fn_80361250 = .text:0x80361250; // type:function size:0x30 fn_80361280 = .text:0x80361280; // type:function size:0xC -fn_8036128C = .text:0x8036128C; // type:function size:0x4 -fn_80361290 = .text:0x80361290; // type:function size:0xC -fn_8036129C = .text:0x8036129C; // type:function size:0x14 -fn_803612B0 = .text:0x803612B0; // type:function size:0x44 +zmemcpy = .text:0x8036128C; // type:function size:0x4 +zmemset = .text:0x80361290; // type:function size:0xC +zcalloc = .text:0x8036129C; // type:function size:0x14 +zcfree = .text:0x803612B0; // type:function size:0x44 fn_803612F4 = .text:0x803612F4; // type:function size:0x34 fn_80361328 = .text:0x80361328; // type:function size:0x20 fn_80361348 = .text:0x80361348; // type:function size:0x64 @@ -43535,16 +43535,16 @@ lbl_804DF390 = .rodata:0x804DF390; // type:object size:0x12 data:string lbl_804DF3A8 = .rodata:0x804DF3A8; // type:object size:0x2000 lbl_804E13A8 = .rodata:0x804E13A8; // type:object size:0x78 lbl_804E1420 = .rodata:0x804E1420; // type:object size:0x28 -@stringBase0 = .rodata:0x804E1448; // type:object size:0x50 scope:local data:string_table -lbl_804E1498 = .rodata:0x804E1498; // type:object size:0x800 -lbl_804E1C98 = .rodata:0x804E1C98; // type:object size:0x80 -lbl_804E1D18 = .rodata:0x804E1D18; // type:object size:0x28 -lbl_804E1D40 = .rodata:0x804E1D40; // type:object size:0x1B0 data:byte +@stringBase0 = .rodata:0x804E1448; // type:object size:0x50 scope:global data:string_table +@LOCAL@fixedtables__Fe@lenfix = .rodata:0x804E1498; // type:object size:0x800 +@LOCAL@fixedtables__Fe@distfix@0 = .rodata:0x804E1C98; // type:object size:0x80 +@LOCAL@inflate__Fe@order = .rodata:0x804E1D18; // type:object size:0x28 +@stringBase0 = .rodata:0x804E1D40; // type:object size:0x1B0 data:string_table inflate_copyright = .rodata:0x804E1EF0; // type:object size:0x2F data:string -@LOCAL@inflate_table__Fe@lbase = .rodata:0x804E1F20; // type:object size:0x3E -@LOCAL@inflate_table__Fe@lext@0 = .rodata:0x804E1F60; // type:object size:0x3E -@LOCAL@inflate_table__Fe@dbase@1 = .rodata:0x804E1FA0; // type:object size:0x40 -@LOCAL@inflate_table__Fe@dext@2 = .rodata:0x804E1FE0; // type:object size:0x40 +@LOCAL@inflate_table__Fe@lbase = .rodata:0x804E1F20; // type:object size:0x3E scope:weak +@LOCAL@inflate_table__Fe@lext@0 = .rodata:0x804E1F60; // type:object size:0x3E scope:weak +@LOCAL@inflate_table__Fe@dbase@1 = .rodata:0x804E1FA0; // type:object size:0x40 scope:weak +@LOCAL@inflate_table__Fe@dext@2 = .rodata:0x804E1FE0; // type:object size:0x40 scope:weak lbl_804E2020 = .rodata:0x804E2020; // type:object size:0x78 lbl_804E2098 = .rodata:0x804E2098; // type:object size:0x78 lbl_804E2110 = .rodata:0x804E2110; // type:object size:0x4C @@ -43553,14 +43553,7 @@ lbl_804E2170 = .rodata:0x804E2170; // type:object size:0x480 lbl_804E25F0 = .rodata:0x804E25F0; // type:object size:0x78 lbl_804E2668 = .rodata:0x804E2668; // type:object size:0x200 lbl_804E2868 = .rodata:0x804E2868; // type:object size:0x1F0 -@294 = .rodata:0x804E2A58; // type:object size:0x10 data:string -@295 = .rodata:0x804E2A68; // type:object size:0xB data:string -@297 = .rodata:0x804E2A74; // type:object size:0xB data:string -@298 = .rodata:0x804E2A80; // type:object size:0xD data:string -@299 = .rodata:0x804E2A90; // type:object size:0xB data:string -@300 = .rodata:0x804E2A9C; // type:object size:0x14 data:string -@301 = .rodata:0x804E2AB0; // type:object size:0xD data:string -@302 = .rodata:0x804E2AC0; // type:object size:0x15 data:string +@stringBase0 = .rodata:0x804E2A58; // type:object size:0x7C scope:local data:string_table z_errmsg = .rodata:0x804E2AD8; // type:object size:0x28 lbl_804E2B00 = .rodata:0x804E2B00; // type:object size:0x1E data:string lbl_804E2B20 = .rodata:0x804E2B20; // type:object size:0x1E data:string @@ -46004,7 +45997,7 @@ lbl_805173E0 = .data:0x805173E0; // type:object size:0x98 lbl_80517478 = .data:0x80517478; // type:object size:0x30 lbl_805174A8 = .data:0x805174A8; // type:object size:0x6C lbl_80517514 = .data:0x80517514; // type:object size:0x14 -jumptable_80517528 = .data:0x80517528; // type:object size:0x74 scope:local +@1505 = .data:0x80517528; // type:object size:0x74 scope:local lbl_805175A0 = .data:0x805175A0; // type:object size:0x40 lbl_805175E0 = .data:0x805175E0; // type:object size:0x60 lbl_80517640 = .data:0x80517640; // type:object size:0x20 @@ -54694,7 +54687,7 @@ lbl_805FA200 = .sdata2:0x805FA200; // type:object size:0x8 align:8 data:double lbl_805FA208 = .sdata2:0x805FA208; // type:object size:0x4 align:4 data:float lbl_805FA20C = .sdata2:0x805FA20C; // type:object size:0x4 align:4 data:float lbl_805FA210 = .sdata2:0x805FA210; // type:object size:0x8 align:4 data:float -lbl_805FA218 = .sdata2:0x805FA218; // type:object size:0x8 +lbl_805FA218 = .sdata2:0x805FA218; // type:object size:0x1 data:string lbl_805FA220 = .sdata2:0x805FA220; // type:object size:0x4 align:4 data:float lbl_805FA224 = .sdata2:0x805FA224; // type:object size:0x4 align:4 data:float lbl_805FA228 = .sdata2:0x805FA228; // type:object size:0x4 align:4 data:float diff --git a/configure.py b/configure.py index fbbe969..509e865 100644 --- a/configure.py +++ b/configure.py @@ -328,13 +328,21 @@ def MatchingFor(*versions): ] }, { - "lib": "libs/zlib", + "lib": "zlib", "mw_version": config.linker_version, - "cflags": cflags_base, + "cflags": [ + *cflags_base, + "-lang=c99", + "-func_align 4", + "-use_lmw_stmw on", + "-opt nopeephole", + "-rostr", + ], "host": False, "progress_category": "lib", "objects": [ - Object(MatchingFor(), "Libraries/zlib/inffast.c"), + Object(MatchingFor("SALP4Q"), "Libraries/zlib/inffast.c"), + Object(MatchingFor(), "Libraries/zlib/inflate.c"), Object(MatchingFor(), "Libraries/zlib/inftrees.c"), Object(MatchingFor(), "Libraries/zlib/zutil.c"), ] diff --git a/src/Libraries/zlib/inftrees.c b/src/Libraries/zlib/inftrees.c index 8c63209..19c932f 100644 --- a/src/Libraries/zlib/inftrees.c +++ b/src/Libraries/zlib/inftrees.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2005 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ -#include "Libraries/zlib/zutil.h" +#include "Libraries/zlib/zutil.h" // IWYU pragma: keep #include "Libraries/zlib/inftrees.h" #define MAXBITS 15 const char inflate_copyright[] =