pmd-red/ld_script.txt
2024-09-24 09:08:27 -04:00

695 lines
22 KiB
Plaintext
Executable File

ENTRY(Start)
gNumMusicPlayers = 8;
gMaxLines = 0;
SECTIONS {
. = 0x2000000;
ewram (NOLOAD) :
ALIGN(4)
{
ewram_start = .;
data/sound_data.o(.bss);
INCLUDE "sym_ewram.ld"
src/agb_flash.o(.bss);
*libgcc.a:fp-bit.o(.bss);
*libgcc.a:dp-bit.o(.bss);
*libc.a:syscalls.o(.bss);
. = ALIGN(16);
INCLUDE "sym_ewram2.ld"
*libc.a:impure.o(.data);
*libc.a:locale.o(.data);
*libc.a:mallocr.o(.data);
ewram2_end = .;
. = 0x40000;
}
. = 0x3000000;
iwram (NOLOAD) :
ALIGN(4)
{
iwram_start = .;
INCLUDE "sym_iwram.ld"
. = 0x8000;
}
. = 0x8000000;
.text :
ALIGN(4)
{
asm/crt0.o(.text);
src/code_80001DC.o(.text);
asm/arm_func.o(.text);
src/code_2.o(.text);
asm/code_2.o(.text);
src/code.o(.text);
asm/event_flag.o(.text);
src/event_flag.o(.text);
asm/code_8002774.o(.text);
src/memory.o(.text);
asm/memory.o(.text);
src/memory_mid.o(.text);
asm/memory_1.o(.text);
src/memory1.o(.text);
asm/code_80035F0.o(.text);
src/other_random.o(.text);
src/util.o(.text);
src/bg_palette_buffer.o(.text);
src/input.o(.text);
src/code_8004AA0.o(.text);
src/sprite.o(.text);
src/code_800558C.o(.text);
src/random.o(.text);
src/text1.o(.text);
src/text2.o(.text);
asm/text.o(.text);
src/code_8009804.o(.text);
asm/code_8009804.o(.text);
src/math.o(.text);
asm/math.o(.text);
src/file_system.o(.text);
src/decompress.o(.text);
src/main.o(.text);
src/unused_vblank.o(.text);
src/reg_control.o(.text);
src/music.o(.text);
src/code_800C9CC.o(.text);
src/bg_control.o(.text);
src/cpu.o(.text);
src/flash.o(.text);
src/code_800D090.o(.text);
asm/code_800D090.o(.text);
src/code_800D090_1.o(.text);
src/code_800DAC0.o(.text);
asm/code_800DAC0.o(.text);
src/code_800E9A8.o(.text);
src/code_800E9E4.o(.text);
src/code_800ED38.o(.text);
asm/code_800ED38.o(.text);
src/code_800F958.o(.text);
asm/code_800F990.o(.text);
src/code_8010EF0.o(.text);
asm/code_8010F28.o(.text);
src/code_80118A4.o(.text);
src/debug.o(.text);
src/save.o(.text);
src/save_read.o(.text);
src/save_write.o(.text);
src/quick_save_read.o(.text);
src/quick_save_write.o(.text);
src/code_8012A18.o(.text);
src/menu_input.o(.text);
asm/code_80130A8.o(.text);
src/code_80140DC.o(.text);
asm/code_80140DC.o(.text);
src/code_8015080.o(.text);
asm/code_8015080.o(.text);
src/code_8012A18_1.o(.text);
src/code_801602C.o(.text);
src/felicity_bank.o(.text);
src/kangaskhan_storage1.o(.text);
src/kangaskhan_storage2.o(.text);
src/kecleon_bros1.o(.text);
src/kecleon_bros2.o(.text);
src/kecleon_bros3.o(.text);
src/kecleon_bros4.o(.text);
src/code_801AFA4.o(.text);
src/code_801B3C0.o(.text);
src/code_801B60C.o(.text);
src/iq_skill_menu.o(.text);
src/iq_skill_list_menu.o(.text);
src/iq_skill_info_menu.o(.text);
src/code_801C8C4.o(.text);
src/code_801D014.o(.text);
src/code_801D9E4.o(.text);
src/options_menu1.o(.text);
src/options_menu2.o(.text);
src/hints_menu1.o(.text);
src/hints_menu2.o(.text);
src/gulpin_shop.o(.text);
src/code_801EE10.o(.text);
asm/code_801EE10.o(.text);
src/code_801EE10_mid.o(.text);
src/code_801F428.o(.text);
src/code_801F808.o(.text);
src/gulpin_shop_801FB50.o(.text);
src/wigglytuff_shop1.o(.text);
src/wigglytuff_shop2.o(.text);
src/wigglytuff_shop3.o(.text);
src/code_80227B8.o(.text);
src/code_8023144.o(.text);
asm/code_8023868.o(.text);
src/code_8023868.o(.text);
src/code_8024458.o(.text);
src/luminous_cave.o(.text);
src/friend_list_menu.o(.text);
src/party_list_menu.o(.text);
src/friend_area_action_menu.o(.text);
src/wonder_mail.o(.text);
src/thank_you_wonder_mail.o(.text);
src/wonder_mail_2.o(.text);
src/pokemon_news1.o(.text);
src/pokemon_news2.o(.text);
src/pokemon_news3.o(.text);
src/wonder_mail_802C10C.o(.text);
src/wonder_mail_802C4C8.o(.text);
src/wonder_mail_802C860.o(.text);
src/wonder_mail_802CDD4.o(.text);
src/wonder_mail_802D098.o(.text);
src/code_802DB28.o(.text);
src/code_802DE84.o(.text);
src/mailbox.o(.text);
src/pelipper_board.o(.text);
src/wonder_mail_3_mid.o(.text);
src/mission_reward.o(.text);
src/code_8072F3C.o(.text);
asm/wonder_mail_3_mid.o(.text);
src/wonder_mail_3_1.o(.text);
src/makuhita_dojo1.o(.text);
src/makuhita_dojo2.o(.text);
src/wonder_mail_4.o(.text);
src/wonder_mail_5.o(.text);
src/wonder_mail_6.o(.text);
src/post_office_guide1.o(.text);
src/post_office_guide2.o(.text);
src/code_8031D70.o(.text);
src/adventure_log.o(.text);
src/friend_rescue.o(.text);
src/credits1.o(.text);
src/credits2.o(.text);
src/main_menu1.o(.text);
src/main_menu2.o(.text);
src/trade_items_menu.o(.text);
src/other_menus1.o(.text);
asm/other_menus1.o(.text);
asm/other_menus2.o(.text);
src/other_menus2.o(.text);
src/adventure_log_menu.o(.text);
src/unk_menu_203B360.o(.text);
src/save_menu.o(.text);
src/rescue_password_menu.o(.text);
src/load_screen.o(.text);
src/wonder_mail_main_menu.o(.text);
src/ds_menus.o(.text);
src/debug_menu1.o(.text);
src/debug_menu2.o(.text);
src/debug_menu3.o(.text);
src/debug_menu4.o(.text);
asm/code_803B050.o(.text);
src/pokemon_mail.o(.text);
src/code_803C1B4.o(.text);
asm/code_803C1D0.o(.text);
src/personality_test1.o(.text);
src/personality_test2.o(.text);
src/code_803D0D8.o(.text);
src/code_803D110.o(.text);
asm/code_803D110.o(.text);
src/code_803E46C.o(.text);
asm/code_803E724.o(.text);
src/code_8040094.o(.text);
asm/code_8040094.o(.text);
src/code_8041AD0.o(.text);
asm/code_8041AD0.o(.text);
src/code_804267C.o(.text);
asm/code_8042B34.o(.text);
src/dungeon_engine.o(.text);
asm/code_8044210.o(.text);
src/dungeon_action.o(.text);
src/code_8044CC8.o(.text);
asm/code_8044CC8.o(.text);
src/dungeon_util.o(.text);
asm/code_80450F8.o(.text);
src/dungeon_visibility.o(.text);
src/code_8045A00.o(.text);
asm/code_8045A00.o(.text);
src/dungeon_items.o(.text);
asm/code_8046CE4.o(.text);
src/code_8048480.o(.text);
src/dungeon_ai_item_weight.o(.text);
src/dungeon_map_access.o(.text);
src/tile_types.o(.text);
asm/code_804AFAC.o(.text);
src/code_804AFAC.o(.text);
asm/code_804FD30.o(.text);
src/code_80521D0.o(.text);
asm/code_80521D0.o(.text);
src/charge_move.o(.text);
src/move_util.o(.text);
src/move_actions.o(.text);
src/status_actions.o(.text);
src/move_checks.o(.text);
src/code_805D8C8_1.o(.text);
asm/code_805D8C8.o(.text);
src/code_8066D04.o(.text);
asm/code_8066D04.o(.text);
src/code_805D8C8.o(.text);
asm/code_805D8C8_1.o(.text);
src/code_8069D4C.o(.text);
src/targeting.o(.text);
src/code_8069E0C.o(.text);
asm/code_8069E0C.o(.text);
src/code_806CD90.o(.text);
src/type_effectiveness.o(.text);
src/code_806E8B0.o(.text);
asm/code_806E8B0.o(.text);
src/status_checks.o(.text);
src/dungeon_movement.o(.text);
src/status_checks_1.o(.text);
src/dungeon_capabilities.o(.text);
src/dungeon_ai_targeting.o(.text);
src/dungeon_pokemon_attributes.o(.text);
src/code_80718D8.o(.text);
asm/code_80718D8.o(.text);
src/code_8072B78.o(.text);
src/dungeon_ai_leader.o(.text);
asm/code_8072CF4.o(.text);
src/dungeon_ai_items.o(.text);
src/code_8073CF0.o(.text);
src/code_8075708.o(.text);
src/dungeon_ai.o(.text);
src/move_effects_target.o(.text);
src/status.o(.text);
asm/code_8077274.o(.text);
src/code_8077274_1.o(.text);
asm/code_8077274_1.o(.text);
src/dungeon_ai_movement.o(.text);
src/dungeon_ai_attack.o(.text);
src/targeting_flags.o(.text);
asm/code_807CD9C.o(.text);
src/code_807CD9C.o(.text);
src/weather.o(.text);
asm/code_807E5AC.o(.text);
src/trap.o(.text);
asm/code_807FCD4.o(.text);
src/trap_1.o(.text);
asm/code_8080CF0.o(.text);
src/code_8083288.o(.text);
src/dungeon_range.o(.text);
src/code_808333C.o(.text);
src/dungeon_leader.o(.text);
asm/code_8083654.o(.text);
src/dungeon_music.o(.text);
src/dungeon_random.o(.text);
src/code_808417C.o(.text);
asm/code_808417C.o(.text);
src/code_8084778.o(.text);
src/code_80848F0.o(.text);
asm/code_80848F0.o(.text);
src/dungeon_util_1.o(.text);
asm/code_8085B80.o(.text);
src/code_8085E98.o(.text);
src/code_80861A8.o(.text);
src/code_80869E4.o(.text);
src/code_8086A3C.o(.text);
asm/code_8086A3C.o(.text);
src/code_8057824_1.o(.text);
src/pokemon.o(.text);
asm/pokemon.o(.text);
src/pokemon_mid.o(.text);
asm/pokemon_2.o(.text);
src/pokemon_3.o(.text);
asm/pokemon_3.o(.text);
src/dungeon.o(.text);
asm/dungeon_2.o(.text);
src/dungeon_2_1.o(.text);
src/items.o(.text);
src/rescue_team_info.o(.text);
src/text_util.o(.text);
src/friend_area.o(.text);
src/moves.o(.text);
src/number_util.o(.text);
src/code_809447C.o(.text);
src/code_8092334.o(.text);
src/game_options.o(.text);
src/code_8094D28.o(.text);
asm/code_8094D28.o(.text);
src/play_time.o(.text);
src/code_8094F88.o(.text);
src/code_80958E8.o(.text);
src/code_80972F4.o(.text);
src/code_8097504.o(.text);
src/code_8097670.o(.text);
src/code_8097DD0.o(.text);
asm/code_8097DD0.o(.text);
src/code_8097F40.o(.text);
src/exclusive_pokemon.o(.text);
src/position_util.o(.text);
asm/code_8098468.o(.text);
src/ground_main.o(.text);
asm/code_8098BDC.o(.text);
src/code_809A560.o(.text);
asm/code_809A560.o(.text);
src/code_809A560_1.o(.text);
src/code_809C5C4.o(.text);
asm/code_809C5C4.o(.text);
src/code_809D148.o(.text);
src/ground_script.o(.text);
asm/handleaction.o(.text);
src/ground_script_1.o(.text);
asm/ground_script.o(.text);
src/ground_script_2.o(.text);
src/code_80A26CC.o(.text);
asm/code_80A26CC_1.o(.text);
src/ground_map.o(.text);
asm/ground_map.o(.text);
src/ground_map_1.o(.text);
asm/ground_map_1.o(.text);
src/ground_map_2.o(.text);
src/ground_sprite.o(.text);
asm/ground_sprite.o(.text);
src/code_80A7714.o(.text);
asm/ground_lives.o(.text);
asm/ground_object.o(.text);
asm/ground_effect.o(.text);
src/ground_link.o(.text);
asm/ground_link.o(.text);
asm/ground_event.o(.text);
asm/m4a_1.o(.text);
src/m4a.o(.text);
*libagbsyscall.a:CpuSet.o(.text);
*libagbsyscall.a:SoundBiasReset.o(.text);
*libagbsyscall.a:SoundBiasSet.o(.text);
*libagbsyscall.a:VBlankIntrWait.o(.text);
src/agb_flash.o(.text);
src/agb_flash_1m.o(.text);
src/agb_flash_mx.o(.text);
src/agb_flash_le.o(.text);
*libgcc.a:_call_via_rX.o(.text);
*libgcc.a:_divsi3.o(.text);
*libgcc.a:_dvmd_tls.o(.text);
*libgcc.a:_fixunssfsi.o(.text);
*libgcc.a:_modsi3.o(.text);
*libgcc.a:_umodsi3.o(.text);
*libgcc.a:fp-bit.o(.text);
*libgcc.a:_muldi3.o(.text);
*libgcc.a:dp-bit.o(.text);
*libgcc.a:_lshrdi3.o(.text);
*libgcc.a:_negdi2.o(.text);
*libc.a:memcpy.o(.text);
*libc.a:memset.o(.text);
*libc.a:sprintf.o(.text);
*libc.a:strcat.o(.text);
*libc.a:strcmp.o(.text);
*libc.a:strcpy.o(.text);
*libc.a:strlen.o(.text);
*libc.a:strncpy.o(.text);
*libc.a:vfprintf.o(.text);
*libc.a:vsprintf.o(.text);
*libc.a:wsetup.o(.text);
*libc.a:dtoa.o(.text);
*libc.a:fflush.o(.text);
*libc.a:findfp.o(.text);
*libc.a:freer.o(.text);
*libc.a:fvwrite.o(.text);
*libc.a:fwalk.o(.text);
*libc.a:locale.o(.text);
*libc.a:makebuf.o(.text);
*libc.a:mallocr.o(.text);
*libc.a:mbtowc_r.o(.text);
*libc.a:memchr.o(.text);
*libc.a:memmove.o(.text);
*libc.a:mlock.o(.text);
*libc.a:mprec.o(.text);
*libc.a:s_isinf.o(.text);
*libc.a:s_isnan.o(.text);
*libc.a:sbrkr.o(.text);
*libc.a:stdio.o(.text);
*libc.a:syscalls.o(.text);
*libc.a:writer.o(.text);
*libc.a:callocr.o(.text);
*libc.a:closer.o(.text);
*libc.a:errno.o(.text);
*libc.a:fstatr.o(.text);
*libc.a:abort.o(.text);
*libc.a:libcfunc.o(.text);
*libc.a:lseekr.o(.text);
*libc.a:readr.o(.text);
*libgcc.a:_udivsi3.o(.text);
} =0
.rodata :
ALIGN(4)
{
data/data_code_2.o(.rodata);
data/data.o(.rodata);
src/math.o(.rodata);
src/file_system.o(.rodata);
src/decompress.o(.rodata);
data/data_80B9BB8.o(.rodata);
src/debug.o(.rodata);
src/save.o(.rodata);
src/save_read.o(.rodata);
src/save_write.o(.rodata);
src/quick_save_read.o(.rodata);
src/quick_save_write.o(.rodata);
src/menu_input.o(.rodata);
src/code_80140DC.o(.rodata);
data/data_80D47B8.o(.rodata);
src/common_strings.o(.rodata);
src/code_8015080.o(.rodata);
data/data_80DAF70.o(.rodata);
src/code_801602C.o(.rodata);
src/felicity_bank.o(.rodata);
src/kangaskhan_storage1.o(.rodata);
src/kangaskhan_storage2.o(.rodata);
src/kecleon_bros1.o(.rodata);
src/kecleon_bros2.o(.rodata);
src/kecleon_bros3.o(.rodata);
src/kecleon_bros4.o(.rodata);
src/code_801AFA4.o(.rodata);
src/code_801B3C0.o(.rodata);
src/code_801B60C.o(.rodata);
src/iq_skill_menu.o(.rodata);
src/iq_skill_list_menu.o(.rodata);
src/iq_skill_info_menu.o(.rodata);
src/code_801C8C4.o(.rodata);
src/code_801D014.o(.rodata);
src/code_801D9E4.o(.rodata);
src/options_menu1.o(.rodata);
src/options_menu2.o(.rodata);
src/hints_menu1.o(.rodata);
src/hints_menu2.o(.rodata);
src/gulpin_shop.o(.rodata);
src/code_801EE10.o(.rodata);
src/code_801F428.o(.rodata);
src/code_801F808.o(.rodata);
src/gulpin_shop_801FB50.o(.rodata);
src/wigglytuff_shop1.o(.rodata);
src/wigglytuff_shop2.o(.rodata);
src/wigglytuff_shop3.o(.rodata);
src/code_80227B8.o(.rodata);
src/code_8023144.o(.rodata);
src/code_8023868.o(.rodata);
src/code_8024458.o(.rodata);
src/luminous_cave.o(.rodata);
src/friend_list_menu.o(.rodata);
src/party_list_menu.o(.rodata);
src/friend_area_action_menu.o(.rodata);
src/wonder_mail.o(.rodata);
src/thank_you_wonder_mail.o(.rodata);
src/wonder_mail_2.o(.rodata);
src/pokemon_news1.o(.rodata);
src/pokemon_news2.o(.rodata);
src/pokemon_news3.o(.rodata);
src/wonder_mail_802C10C.o(.rodata);
src/wonder_mail_802C4C8.o(.rodata);
src/wonder_mail_802C860.o(.rodata);
src/wonder_mail_802CDD4.o(.rodata);
src/wonder_mail_802D098.o(.rodata);
src/code_802DB28.o(.rodata);
src/code_802DE84.o(.rodata);
src/mailbox.o(.rodata);
src/pelipper_board.o(.rodata);
src/wonder_mail_3_mid.o(.rodata);
src/mission_reward.o(.rodata);
src/code_8072F3C.o(.rodata);
src/makuhita_dojo1.o(.rodata);
src/makuhita_dojo2.o(.rodata);
src/wonder_mail_4.o(.rodata);
src/wonder_mail_5.o(.rodata);
src/wonder_mail_6.o(.rodata);
src/post_office_guide1.o(.rodata);
src/post_office_guide2.o(.rodata);
src/code_8031D70.o(.rodata);
src/adventure_log.o(.rodata);
src/friend_rescue.o(.rodata);
data/friend_rescue.o(.rodata);
data/credits1.o(.rodata);
src/credits2.o(.rodata);
src/main_menu1.o(.rodata);
src/main_menu2.o(.rodata);
src/trade_items_menu.o(.rodata);
src/other_menus1.o(.rodata);
src/other_menus2.o(.rodata);
src/unk_menu_203B360.o(.rodata);
src/save_menu.o(.rodata);
src/rescue_password_menu.o(.rodata);
src/load_screen.o(.rodata);
src/wonder_mail_main_menu.o(.rodata);
src/debug_menu1.o(.rodata);
src/debug_menu2.o(.rodata);
src/debug_menu3.o(.rodata);
src/debug_menu4.o(.rodata);
data/data_80E7D40.o(.rodata);
src/pokemon_mail_pre.o(.rodata);
src/pokemon_mail.o(.rodata);
src/personality_test1.o(.rodata);
src/personality_test2.o(.rodata);
src/code_803D0D8.o(.rodata);
src/dungeon_util.o(.rodata);
data/data_80F4468.o(.rodata);
src/dungeon_ai_movement.o(.rodata);
data/data_80F4D44.o(.rodata);
src/status_checks.o(.rodata);
data/data_80F4DB4.o(.rodata);
src/dungeon_ai_attack.o(.rodata);
data/data_80F4E2C.o(.rodata);
src/type_chart.o(.rodata);
data/data_80F54B4.o(.rodata);
src/move_checks.o(.rodata);
data/data_80F5668.o(.rodata);
src/dungeon_pokemon_attributes.o(.rodata);
data/data_80F59C8.o(.rodata);
src/charge_move.o(.rodata);
data/data_8106A4C.o(.rodata);
src/code_806CD90.o(.rodata);
src/type_effectiveness.o(.data);
data/data_8106F7C.o(.rodata);
src/dungeon_capabilities.o(.rodata);
src/dungeon_ai_targeting.o(.rodata);
data/data_8107010.o(.rodata);
src/game_options.o(.rodata);
data/data_8109964.o(.rodata);
src/code_80972F4.o(.rodata);
src/code_8097504.o(.rodata);
data/data_8109D10.o(.rodata);
src/pokemon_3.o(.rodata);
src/items.o(.rodata);
src/code_8048480.o(.rodata);
src/friend_area.o(.rodata);
data/data_810AC60.o(.rodata);
src/tile_types.o(.rodata);
src/exclusive_pokemon.o(.rodata);
src/rescue_team_info.o(.rodata);
src/text_util.o(.rodata);
data/data_810AE24.o(.rodata);
src/position_util.o(.rodata);
data/data_8115EB8.o(.rodata);
src/ground_main.o(.rodata);
data/data_8115F5C.o(.rodata);
data/friend_area_dialogue.o(.rodata);
data/cutscenes.o(.rodata);
data/cutscenes_1.o(.rodata);
src/m4a_tables.o(.rodata);
src/agb_flash.o(.rodata);
src/agb_flash_1m.o(.rodata);
src/agb_flash_mx.o(.rodata);
src/agb_flash_le.o(.rodata);
*libc.a:sprintf.o(.rodata);
*libc.a:vfprintf.o(.rodata);
*libc.a:dtoa.o(.rodata);
*libc.a:impure.o(.rodata);
*libc.a:locale.o(.rodata);
*libc.a:mprec.o(.rodata);
*libc.a:syscalls.o(.rodata);
. = ALIGN(4);
data/data_8270000.o(.rodata);
} =0
unk_code_section :
ALIGN(4)
{
unk_code = .;
asm/code_8272724.o(.rodata);
src/code_8272724.o(.text);
asm/code_8272724.o(.text);
unk_code_end = .;
}
unk_code_section_size = (unk_code_end - unk_code);
unk_code_ram_end = unk_code_ram + unk_code_section_size;
end = unk_code_ram_end;
. = 0x8300000;
unk_data :
ALIGN(4)
{
data/unk_data.o(.rodata);
}
. = 0x8300500;
system_sbin_section :
ALIGN(4)
{
data/system_sbin.o(.rodata);
}
. = 0x8380000;
titlemenu_sbin_section :
ALIGN(4)
{
data/titlemenu_sbin.o(.rodata);
}
. = 0x83B0000;
dungeon_sbin_section :
ALIGN(4)
{
data/dungeon_sbin.o(.rodata);
}
. = 0x8510000;
monster_sbin_section :
ALIGN(4)
{
data/monster_sbin.o(.rodata);
}
. = 0x9740000;
effect_sbin_section :
ALIGN(4)
{
data/effect_sbin.o(.rodata);
}
. = 0x9890000;
ground_sbin_section :
ALIGN(4)
{
data/ground_sbin.o(.rodata);
}
. = 0x9E60000;
ornament_sbin_section :
ALIGN(4)
{
data/ornament_sbin.o(.rodata);
}
sound_data :
ALIGN(4)
{
data/sound_data.o(.rodata);
}
/* DWARF 2 sections */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
.debug_info 0 : { *(.debug_info) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* Discard everything not specifically mentioned above. */
/DISCARD/ :
{
*(*);
}
}