diff --git a/slinky-cli/src/main.rs b/slinky-cli/src/main.rs index 50be766..03b6dc9 100644 --- a/slinky-cli/src/main.rs +++ b/slinky-cli/src/main.rs @@ -1,7 +1,7 @@ /* SPDX-FileCopyrightText: © 2024 decompals */ /* SPDX-License-Identifier: MIT */ -use std::path::PathBuf; +use std::path::{Path, PathBuf}; use clap::Parser; @@ -41,6 +41,12 @@ fn main() { println!("{}", writer.export_as_string()); } + //{ + // let mut writer_test = slinky::LinkerWriter::new(&document.settings); + // writer_test.add_single_segment(&document.segments[3]); + // writer_test.save_linker_script(Path::new("test.ld")).expect("idk"); + //} + if let Some(d_path) = &document.settings.d_path { if let Some(target_path) = &document.settings.target_path { writer diff --git a/slinky/src/linker_writer.rs b/slinky/src/linker_writer.rs index f01c26b..b023fd8 100644 --- a/slinky/src/linker_writer.rs +++ b/slinky/src/linker_writer.rs @@ -17,6 +17,8 @@ pub struct LinkerWriter<'a> { indent_level: i32, buffer: Vec, + single_segment: bool, + settings: &'a Settings, } @@ -27,6 +29,9 @@ impl<'a> LinkerWriter<'a> { files_paths: Vec::new(), indent_level: 0, buffer: Vec::new(), + + single_segment: false, + settings, } } @@ -105,6 +110,8 @@ impl<'a> LinkerWriter<'a> { } pub fn add_segment(&mut self, segment: &Segment) { + assert!(!self.single_segment); + let style = &self.settings.linker_symbols_style; let dotted_seg_name = format!(".{}", segment.name); @@ -152,6 +159,99 @@ impl<'a> LinkerWriter<'a> { self.writeln(""); } + pub fn add_single_segment(&mut self, segment: &Segment) { + assert!(self.buffer.is_empty()); + + // Make sure this function is called only once + assert!(!self.single_segment); + self.single_segment = true; + + let style = &self.settings.linker_symbols_style; + + self.writeln("SECTIONS"); + self.begin_block(); + + //let dotted_seg_name = format!(".{}", segment.name); + + // Emit alloc segment + //self.write_single_segment(segment, &dotted_seg_name, &segment.alloc_sections, false); + + //self.writeln(""); + + // Emit noload segment + //self.write_single_segment(segment, &dotted_seg_name, &segment.noload_sections, true); + + for section in &self.settings.alloc_sections { + let mut line = String::new(); + + line += &format!("{} :", section); + + if let Some(subalign) = segment.subalign { + line += &format!(" SUBALIGN({})", subalign); + } + + self.writeln(&line); + self.begin_block(); + + if let Some(fill_value) = segment.fill_value { + self.writeln(&format!("FILL(0x{:08X});", fill_value)); + } + + let section_start_sym = style.segment_section_start(&segment.name, section); + let section_end_sym = style.segment_section_end(&segment.name, section); + let section_size_sym = style.segment_section_size(&segment.name, section); + + self.write_symbol(§ion_start_sym, "."); + + self.emit_section(segment, section); + + if let Some(section_end_align) = segment.section_end_align { + self.align_symbol(".", section_end_align); + } + self.write_sym_end_size(§ion_start_sym, §ion_end_sym, §ion_size_sym, "."); + + self.end_block(); + + self.writeln(""); + } + + for section in &self.settings.noload_sections { + let mut line = String::new(); + + line += &format!("{} (NOLOAD) :", section); + + if let Some(subalign) = segment.subalign { + line += &format!(" SUBALIGN({})", subalign); + } + + self.writeln(&line); + self.begin_block(); + + if let Some(fill_value) = segment.fill_value { + self.writeln(&format!("FILL(0x{:08X});", fill_value)); + } + + let section_start_sym = style.segment_section_start(&segment.name, section); + let section_end_sym = style.segment_section_end(&segment.name, section); + let section_size_sym = style.segment_section_size(&segment.name, section); + + self.write_symbol(§ion_start_sym, "."); + + self.emit_section(segment, section); + + if let Some(section_end_align) = segment.section_end_align { + self.align_symbol(".", section_end_align); + } + self.write_sym_end_size(§ion_start_sym, §ion_end_sym, §ion_size_sym, "."); + + self.end_block(); + + self.writeln(""); + } + + self.end_sections(); + } + pub fn save_linker_script(&self, path: &Path) -> Result<(), SlinkyError> { let mut f = utils::create_file_and_parents(path)?; @@ -386,7 +486,7 @@ impl LinkerWriter<'_> { if let Some(fixed_vram) = segment.fixed_vram { line += &format!(" 0x{:08X}", fixed_vram); } else if let Some(follows_segment) = &segment.follows_segment { - line += &format!(" {}", &style.segment_vram_end(follows_segment)); + line += &format!(" {}", style.segment_vram_end(follows_segment)); } line += &format!(" : AT({})", style.segment_rom_start(&segment.name)); @@ -541,4 +641,50 @@ impl LinkerWriter<'_> { &seg_sym_size, ); } + + /* + fn write_single_segment( + &mut self, + segment: &Segment, + dotted_seg_name: &str, + sections: &[String], + noload: bool, + ) { + let style = &self.settings.linker_symbols_style; + + self.write_segment_start(segment, dotted_seg_name, noload, &seg_sym_start); + + if let Some(fill_value) = segment.fill_value { + self.writeln(&format!("FILL(0x{:08X});", fill_value)); + } + + for (i, section) in sections.iter().enumerate() { + let section_start_sym = style.segment_section_start(&segment.name, section); + let section_end_sym = style.segment_section_end(&segment.name, section); + let section_size_sym = style.segment_section_size(&segment.name, section); + + self.write_symbol(§ion_start_sym, "."); + + self.emit_section(segment, section); + + if let Some(section_end_align) = segment.section_end_align { + self.align_symbol(".", section_end_align); + } + self.write_sym_end_size(§ion_start_sym, §ion_end_sym, §ion_size_sym, "."); + + if i + 1 < sections.len() { + self.writeln(""); + } + } + + self.write_segment_end( + segment, + dotted_seg_name, + noload, + &seg_sym_start, + &seg_sym_end, + &seg_sym_size, + ); + } + */ } diff --git a/test.ld b/test.ld new file mode 100644 index 0000000..0b9ef73 --- /dev/null +++ b/test.ld @@ -0,0 +1,1475 @@ +SECTIONS +{ + .text : + { + FILL(0x00000000); + boot_TEXT_START = .; + build/us/src/boot/boot_main.o(.text*); + build/us/src/boot/dmadata.o(.text*); + build/us/src/gzip/inflate.o(.text*); + build/us/src/gzip/unzip.o(.text*); + build/us/src/boot/util.o(.text*); + build/us/src/boot/rom_offsets.o(.text*); + build/us/lib/ultralib/src/io/conteepprobe.o(.text*); + build/us/lib/ultralib/src/io/conteeplongwrite.o(.text*); + build/us/lib/ultralib/src/io/conteeplongread.o(.text*); + build/us/lib/ultralib/src/io/pimgr.o(.text*); + build/us/lib/ultralib/src/io/epirawdma.o(.text*); + build/us/lib/ultralib/src/io/epidma.o(.text*); + build/us/lib/ultralib/src/io/cartrominit.o(.text*); + build/us/lib/ultralib/src/io/devmgr.o(.text*); + build/us/lib/ultralib/src/io/piacs.o(.text*); + build/us/lib/ultralib/src/io/pidma.o(.text*); + build/us/lib/ultralib/src/io/aigetlen.o(.text*); + build/us/lib/ultralib/src/io/aigetstat.o(.text*); + build/us/lib/ultralib/src/io/aisetfreq.o(.text*); + build/us/lib/ultralib/src/io/aisetnextbuf.o(.text*); + build/us/lib/ultralib/src/audio/env.o(.text*); + build/us/lib/ultralib/src/audio/sl.o(.text*); + build/us/lib/ultralib/src/audio/heapinit.o(.text*); + build/us/lib/ultralib/src/audio/synthesizer.o(.text*); + build/us/lib/ultralib/src/audio/syndelete.o(.text*); + build/us/lib/ultralib/src/audio/synaddplayer.o(.text*); + build/us/lib/ultralib/src/audio/synallocvoice.o(.text*); + build/us/lib/ultralib/src/audio/synstopvoice.o(.text*); + build/us/lib/ultralib/src/audio/synstartvoice.o(.text*); + build/us/lib/ultralib/src/audio/synsetpitch.o(.text*); + build/us/lib/ultralib/src/audio/synsetvol.o(.text*); + build/us/lib/ultralib/src/audio/synsetfxmix.o(.text*); + build/us/lib/ultralib/src/audio/synsetpan.o(.text*); + build/us/lib/ultralib/src/audio/synallocfx.o(.text*); + build/us/lib/ultralib/src/os/invaldcache.o(.text*); + build/us/lib/ultralib/src/os/writebackdcacheall.o(.text*); + build/us/lib/ultralib/src/io/contquery.o(.text*); + build/us/lib/ultralib/src/io/contreaddata.o(.text*); + build/us/lib/ultralib/src/io/controller.o(.text*); + build/us/lib/ultralib/src/io/contsetch.o(.text*); + build/us/lib/ultralib/src/os/virtualtophysical.o(.text*); + build/us/lib/ultralib/src/gu/sqrtf.o(.text*); + build/us/lib/ultralib/src/gu/cosf.o(.text*); + build/us/lib/ultralib/src/gu/ortho.o(.text*); + build/us/lib/ultralib/src/gu/perspective.o(.text*); + build/us/lib/ultralib/src/gu/rotaterpy.o(.text*); + build/us/lib/ultralib/src/gu/sinf.o(.text*); + build/us/lib/ultralib/src/gu/sins.o(.text*); + build/us/lib/ultralib/src/libc/bcmp.o(.text*); + build/us/lib/ultralib/src/libc/bcopy.o(.text*); + build/us/lib/ultralib/src/libc/bzero.o(.text*); + build/us/lib/ultralib/src/libc/string.o(.text*); + build/us/lib/ultralib/src/os/createmesgqueue.o(.text*); + build/us/lib/ultralib/src/os/jammesg.o(.text*); + build/us/lib/ultralib/src/os/recvmesg.o(.text*); + build/us/lib/ultralib/src/os/sendmesg.o(.text*); + build/us/lib/ultralib/src/os/seteventmesg.o(.text*); + build/us/lib/ultralib/src/io/sptask.o(.text*); + build/us/lib/ultralib/src/io/sptaskyield.o(.text*); + build/us/lib/ultralib/src/io/sptaskyielded.o(.text*); + build/us/lib/ultralib/src/sched/sched.o(.text*); + build/us/lib/ultralib/src/io/sirawdma.o(.text*); + build/us/lib/ultralib/src/io/siacs.o(.text*); + build/us/lib/ultralib/src/os/createthread.o(.text*); + build/us/lib/ultralib/src/os/getthreadpri.o(.text*); + build/us/lib/ultralib/src/os/setthreadpri.o(.text*); + build/us/lib/ultralib/src/os/startthread.o(.text*); + build/us/lib/ultralib/src/os/stopthread.o(.text*); + build/us/lib/ultralib/src/os/thread.o(.text*); + build/us/lib/ultralib/src/os/yieldthread.o(.text*); + build/us/lib/ultralib/src/os/gettime.o(.text*); + build/us/lib/ultralib/src/os/settime.o(.text*); + build/us/lib/ultralib/src/os/settimer.o(.text*); + build/us/lib/ultralib/src/os/timerintr.o(.text*); + build/us/lib/ultralib/src/os/probetlb.o(.text*); + build/us/lib/ultralib/src/io/vigetcurrframebuf.o(.text*); + build/us/lib/ultralib/src/io/vigetnextframebuf.o(.text*); + build/us/lib/ultralib/src/io/vimgr.o(.text*); + build/us/lib/ultralib/src/io/vitbl.o(.text*); + build/us/lib/ultralib/src/io/visetevent.o(.text*); + build/us/lib/ultralib/src/io/visetmode.o(.text*); + build/us/lib/ultralib/src/io/visetspecial.o(.text*); + build/us/lib/ultralib/src/io/visetyscale.o(.text*); + build/us/lib/ultralib/src/io/viswapbuf.o(.text*); + build/us/lib/ultralib/src/io/viswapcontext.o(.text*); + build/us/lib/ultralib/src/io/viblack.o(.text*); + build/us/lib/ultralib/src/mgu/mtxident.o(.text*); + build/us/lib/ultralib/src/mgu/mtxidentf.o(.text*); + build/us/lib/ultralib/src/mgu/mtxf2l.o(.text*); + build/us/lib/ultralib/src/mgu/mtxl2f.o(.text*); + build/us/lib/ultralib/src/mgu/mtxcatf.o(.text*); + build/us/lib/ultralib/src/mgu/scale.o(.text*); + build/us/lib/ultralib/src/mgu/scalef.o(.text*); + build/us/lib/ultralib/src/mgu/translate.o(.text*); + build/us/lib/ultralib/src/mgu/translatef.o(.text*); + build/us/lib/ultralib/src/os/initialize.o(.text*); + build/us/lib/ultralib/src/io/conteepread.o(.text*); + build/us/lib/ultralib/src/io/conteepwrite.o(.text*); + build/us/lib/ultralib/src/os/exceptasm.o(.text*); + build/us/lib/ultralib/src/os/interrupt.o(.text*); + build/us/lib/ultralib/src/os/setintmask.o(.text*); + build/us/lib/ultralib/src/os/setglobalintmask.o(.text*); + build/us/lib/ultralib/src/os/resetglobalintmask.o(.text*); + build/us/lib/ultralib/src/io/pirawdma.o(.text*); + build/us/lib/ultralib/src/io/pigetcmdq.o(.text*); + build/us/lib/ultralib/src/io/epirawread.o(.text*); + build/us/lib/ultralib/src/io/epirawwrite.o(.text*); + build/us/lib/ultralib/src/io/ai.o(.text*); + build/us/lib/ultralib/src/audio/drvrnew.o(.text*); + build/us/lib/ultralib/src/audio/load.o(.text*); + build/us/lib/ultralib/src/audio/auxbus.o(.text*); + build/us/lib/ultralib/src/audio/filter.o(.text*); + build/us/lib/ultralib/src/audio/mainbus.o(.text*); + build/us/lib/ultralib/src/audio/resample.o(.text*); + build/us/lib/ultralib/src/audio/reverb.o(.text*); + build/us/lib/ultralib/src/audio/save.o(.text*); + build/us/lib/ultralib/src/audio/heapalloc.o(.text*); + build/us/lib/ultralib/src/audio/copy.o(.text*); + build/us/lib/ultralib/src/os/invalicache.o(.text*); + build/us/lib/ultralib/src/os/writebackdcache.o(.text*); + build/us/lib/ultralib/src/io/dpsetnextbuf.o(.text*); + build/us/lib/ultralib/src/os/getcause.o(.text*); + build/us/lib/ultralib/src/os/getcount.o(.text*); + build/us/lib/ultralib/src/os/getsr.o(.text*); + build/us/lib/ultralib/src/os/setcompare.o(.text*); + build/us/lib/ultralib/src/os/setfpccsr.o(.text*); + build/us/lib/ultralib/src/os/setsr.o(.text*); + build/us/lib/ultralib/src/os/setwatchlo.o(.text*); + build/us/lib/ultralib/src/io/sp.o(.text*); + build/us/lib/ultralib/src/io/spgetstat.o(.text*); + build/us/lib/ultralib/src/io/spsetstat.o(.text*); + build/us/lib/ultralib/src/io/spsetpc.o(.text*); + build/us/lib/ultralib/src/io/sprawdma.o(.text*); + build/us/lib/ultralib/src/io/sirawread.o(.text*); + build/us/lib/ultralib/src/io/sirawwrite.o(.text*); + build/us/lib/ultralib/src/os/destroythread.o(.text*); + build/us/lib/ultralib/src/os/maptlbrdb.o(.text*); + build/us/lib/ultralib/src/os/unmaptlball.o(.text*); + build/us/lib/ultralib/src/io/vi.o(.text*); + build/us/lib/ultralib/src/io/vigetcurrcontext.o(.text*); + build/us/lib/ultralib/src/vimodes/vimodentsclan1.o(.text*); + build/us/lib/ultralib/src/vimodes/vimodepallan1.o(.text*); + build/us/lib/ultralib/src/vimodes/vimodempallan1.o(.text*); + build/us/lib/ultralib/src/os/parameters.o(.text*); + build/us/lib/ultralib/src/gu/libm_vals.o(.text*); + build/us/lib/ultralib/src/io/dp.o(.text*); + build/us/lib/ultralib/src/io/si.o(.text*); + build/us/src/libkmc/fmod.o(.text*); + build/us/src/libkmc/memmove.o(.text*); + build/us/src/libkmc/memset.o(.text*); + build/us/src/libkmc/modf.o(.text*); + build/us/src/libkmc/rand.o(.text*); + build/us/src/libkmc/strcpy.o(.text*); + build/us/src/libkmc/mmuldi3.o(.text*); + build/us/src/libkmc/ctype.o(.text*); + build/us/asm/us/data/boot/8001B640.bss.o(.text*); + . = ALIGN(., 0x10); + boot_TEXT_END = .; + boot_TEXT_SIZE = ABSOLUTE(boot_TEXT_END - boot_TEXT_START); + } + + .data : + { + FILL(0x00000000); + boot_DATA_START = .; + build/us/src/boot/boot_main.o(.data*); + build/us/src/boot/dmadata.o(.data*); + build/us/src/gzip/inflate.o(.data*); + build/us/src/gzip/unzip.o(.data*); + build/us/src/boot/util.o(.data*); + build/us/src/boot/rom_offsets.o(.data*); + build/us/lib/ultralib/src/io/conteepprobe.o(.data*); + build/us/lib/ultralib/src/io/conteeplongwrite.o(.data*); + build/us/lib/ultralib/src/io/conteeplongread.o(.data*); + build/us/lib/ultralib/src/io/pimgr.o(.data*); + build/us/lib/ultralib/src/io/epirawdma.o(.data*); + build/us/lib/ultralib/src/io/epidma.o(.data*); + build/us/lib/ultralib/src/io/cartrominit.o(.data*); + build/us/lib/ultralib/src/io/devmgr.o(.data*); + build/us/lib/ultralib/src/io/piacs.o(.data*); + build/us/lib/ultralib/src/io/pidma.o(.data*); + build/us/lib/ultralib/src/io/aigetlen.o(.data*); + build/us/lib/ultralib/src/io/aigetstat.o(.data*); + build/us/lib/ultralib/src/io/aisetfreq.o(.data*); + build/us/lib/ultralib/src/io/aisetnextbuf.o(.data*); + build/us/lib/ultralib/src/audio/env.o(.data*); + build/us/lib/ultralib/src/audio/sl.o(.data*); + build/us/lib/ultralib/src/audio/heapinit.o(.data*); + build/us/lib/ultralib/src/audio/synthesizer.o(.data*); + build/us/lib/ultralib/src/audio/syndelete.o(.data*); + build/us/lib/ultralib/src/audio/synaddplayer.o(.data*); + build/us/lib/ultralib/src/audio/synallocvoice.o(.data*); + build/us/lib/ultralib/src/audio/synstopvoice.o(.data*); + build/us/lib/ultralib/src/audio/synstartvoice.o(.data*); + build/us/lib/ultralib/src/audio/synsetpitch.o(.data*); + build/us/lib/ultralib/src/audio/synsetvol.o(.data*); + build/us/lib/ultralib/src/audio/synsetfxmix.o(.data*); + build/us/lib/ultralib/src/audio/synsetpan.o(.data*); + build/us/lib/ultralib/src/audio/synallocfx.o(.data*); + build/us/lib/ultralib/src/os/invaldcache.o(.data*); + build/us/lib/ultralib/src/os/writebackdcacheall.o(.data*); + build/us/lib/ultralib/src/io/contquery.o(.data*); + build/us/lib/ultralib/src/io/contreaddata.o(.data*); + build/us/lib/ultralib/src/io/controller.o(.data*); + build/us/lib/ultralib/src/io/contsetch.o(.data*); + build/us/lib/ultralib/src/os/virtualtophysical.o(.data*); + build/us/lib/ultralib/src/gu/sqrtf.o(.data*); + build/us/lib/ultralib/src/gu/cosf.o(.data*); + build/us/lib/ultralib/src/gu/ortho.o(.data*); + build/us/lib/ultralib/src/gu/perspective.o(.data*); + build/us/lib/ultralib/src/gu/rotaterpy.o(.data*); + build/us/lib/ultralib/src/gu/sinf.o(.data*); + build/us/lib/ultralib/src/gu/sins.o(.data*); + build/us/lib/ultralib/src/libc/bcmp.o(.data*); + build/us/lib/ultralib/src/libc/bcopy.o(.data*); + build/us/lib/ultralib/src/libc/bzero.o(.data*); + build/us/lib/ultralib/src/libc/string.o(.data*); + build/us/lib/ultralib/src/os/createmesgqueue.o(.data*); + build/us/lib/ultralib/src/os/jammesg.o(.data*); + build/us/lib/ultralib/src/os/recvmesg.o(.data*); + build/us/lib/ultralib/src/os/sendmesg.o(.data*); + build/us/lib/ultralib/src/os/seteventmesg.o(.data*); + build/us/lib/ultralib/src/io/sptask.o(.data*); + build/us/lib/ultralib/src/io/sptaskyield.o(.data*); + build/us/lib/ultralib/src/io/sptaskyielded.o(.data*); + build/us/lib/ultralib/src/sched/sched.o(.data*); + build/us/lib/ultralib/src/io/sirawdma.o(.data*); + build/us/lib/ultralib/src/io/siacs.o(.data*); + build/us/lib/ultralib/src/os/createthread.o(.data*); + build/us/lib/ultralib/src/os/getthreadpri.o(.data*); + build/us/lib/ultralib/src/os/setthreadpri.o(.data*); + build/us/lib/ultralib/src/os/startthread.o(.data*); + build/us/lib/ultralib/src/os/stopthread.o(.data*); + build/us/lib/ultralib/src/os/thread.o(.data*); + build/us/lib/ultralib/src/os/yieldthread.o(.data*); + build/us/lib/ultralib/src/os/gettime.o(.data*); + build/us/lib/ultralib/src/os/settime.o(.data*); + build/us/lib/ultralib/src/os/settimer.o(.data*); + build/us/lib/ultralib/src/os/timerintr.o(.data*); + build/us/lib/ultralib/src/os/probetlb.o(.data*); + build/us/lib/ultralib/src/io/vigetcurrframebuf.o(.data*); + build/us/lib/ultralib/src/io/vigetnextframebuf.o(.data*); + build/us/lib/ultralib/src/io/vimgr.o(.data*); + build/us/lib/ultralib/src/io/vitbl.o(.data*); + build/us/lib/ultralib/src/io/visetevent.o(.data*); + build/us/lib/ultralib/src/io/visetmode.o(.data*); + build/us/lib/ultralib/src/io/visetspecial.o(.data*); + build/us/lib/ultralib/src/io/visetyscale.o(.data*); + build/us/lib/ultralib/src/io/viswapbuf.o(.data*); + build/us/lib/ultralib/src/io/viswapcontext.o(.data*); + build/us/lib/ultralib/src/io/viblack.o(.data*); + build/us/lib/ultralib/src/mgu/mtxident.o(.data*); + build/us/lib/ultralib/src/mgu/mtxidentf.o(.data*); + build/us/lib/ultralib/src/mgu/mtxf2l.o(.data*); + build/us/lib/ultralib/src/mgu/mtxl2f.o(.data*); + build/us/lib/ultralib/src/mgu/mtxcatf.o(.data*); + build/us/lib/ultralib/src/mgu/scale.o(.data*); + build/us/lib/ultralib/src/mgu/scalef.o(.data*); + build/us/lib/ultralib/src/mgu/translate.o(.data*); + build/us/lib/ultralib/src/mgu/translatef.o(.data*); + build/us/lib/ultralib/src/os/initialize.o(.data*); + build/us/lib/ultralib/src/io/conteepread.o(.data*); + build/us/lib/ultralib/src/io/conteepwrite.o(.data*); + build/us/lib/ultralib/src/os/exceptasm.o(.data*); + build/us/lib/ultralib/src/os/interrupt.o(.data*); + build/us/lib/ultralib/src/os/setintmask.o(.data*); + build/us/lib/ultralib/src/os/setglobalintmask.o(.data*); + build/us/lib/ultralib/src/os/resetglobalintmask.o(.data*); + build/us/lib/ultralib/src/io/pirawdma.o(.data*); + build/us/lib/ultralib/src/io/pigetcmdq.o(.data*); + build/us/lib/ultralib/src/io/epirawread.o(.data*); + build/us/lib/ultralib/src/io/epirawwrite.o(.data*); + build/us/lib/ultralib/src/io/ai.o(.data*); + build/us/lib/ultralib/src/audio/drvrnew.o(.data*); + build/us/lib/ultralib/src/audio/load.o(.data*); + build/us/lib/ultralib/src/audio/auxbus.o(.data*); + build/us/lib/ultralib/src/audio/filter.o(.data*); + build/us/lib/ultralib/src/audio/mainbus.o(.data*); + build/us/lib/ultralib/src/audio/resample.o(.data*); + build/us/lib/ultralib/src/audio/reverb.o(.data*); + build/us/lib/ultralib/src/audio/save.o(.data*); + build/us/lib/ultralib/src/audio/heapalloc.o(.data*); + build/us/lib/ultralib/src/audio/copy.o(.data*); + build/us/lib/ultralib/src/os/invalicache.o(.data*); + build/us/lib/ultralib/src/os/writebackdcache.o(.data*); + build/us/lib/ultralib/src/io/dpsetnextbuf.o(.data*); + build/us/lib/ultralib/src/os/getcause.o(.data*); + build/us/lib/ultralib/src/os/getcount.o(.data*); + build/us/lib/ultralib/src/os/getsr.o(.data*); + build/us/lib/ultralib/src/os/setcompare.o(.data*); + build/us/lib/ultralib/src/os/setfpccsr.o(.data*); + build/us/lib/ultralib/src/os/setsr.o(.data*); + build/us/lib/ultralib/src/os/setwatchlo.o(.data*); + build/us/lib/ultralib/src/io/sp.o(.data*); + build/us/lib/ultralib/src/io/spgetstat.o(.data*); + build/us/lib/ultralib/src/io/spsetstat.o(.data*); + build/us/lib/ultralib/src/io/spsetpc.o(.data*); + build/us/lib/ultralib/src/io/sprawdma.o(.data*); + build/us/lib/ultralib/src/io/sirawread.o(.data*); + build/us/lib/ultralib/src/io/sirawwrite.o(.data*); + build/us/lib/ultralib/src/os/destroythread.o(.data*); + build/us/lib/ultralib/src/os/maptlbrdb.o(.data*); + build/us/lib/ultralib/src/os/unmaptlball.o(.data*); + build/us/lib/ultralib/src/io/vi.o(.data*); + build/us/lib/ultralib/src/io/vigetcurrcontext.o(.data*); + build/us/lib/ultralib/src/vimodes/vimodentsclan1.o(.data*); + build/us/lib/ultralib/src/vimodes/vimodepallan1.o(.data*); + build/us/lib/ultralib/src/vimodes/vimodempallan1.o(.data*); + build/us/lib/ultralib/src/os/parameters.o(.data*); + build/us/lib/ultralib/src/gu/libm_vals.o(.data*); + build/us/lib/ultralib/src/io/dp.o(.data*); + build/us/lib/ultralib/src/io/si.o(.data*); + build/us/src/libkmc/fmod.o(.data*); + build/us/src/libkmc/memmove.o(.data*); + build/us/src/libkmc/memset.o(.data*); + build/us/src/libkmc/modf.o(.data*); + build/us/src/libkmc/rand.o(.data*); + build/us/src/libkmc/strcpy.o(.data*); + build/us/src/libkmc/mmuldi3.o(.data*); + build/us/src/libkmc/ctype.o(.data*); + build/us/asm/us/data/boot/8001B640.bss.o(.data*); + . = ALIGN(., 0x10); + boot_DATA_END = .; + boot_DATA_SIZE = ABSOLUTE(boot_DATA_END - boot_DATA_START); + } + + .rodata : + { + FILL(0x00000000); + boot_RODATA_START = .; + build/us/src/boot/boot_main.o(.rodata*); + build/us/src/boot/dmadata.o(.rodata*); + build/us/src/gzip/inflate.o(.rodata*); + build/us/src/gzip/unzip.o(.rodata*); + build/us/src/boot/util.o(.rodata*); + build/us/src/boot/rom_offsets.o(.rodata*); + build/us/lib/ultralib/src/io/conteepprobe.o(.rodata*); + build/us/lib/ultralib/src/io/conteeplongwrite.o(.rodata*); + build/us/lib/ultralib/src/io/conteeplongread.o(.rodata*); + build/us/lib/ultralib/src/io/pimgr.o(.rodata*); + build/us/lib/ultralib/src/io/epirawdma.o(.rodata*); + build/us/lib/ultralib/src/io/epidma.o(.rodata*); + build/us/lib/ultralib/src/io/cartrominit.o(.rodata*); + build/us/lib/ultralib/src/io/devmgr.o(.rodata*); + build/us/lib/ultralib/src/io/piacs.o(.rodata*); + build/us/lib/ultralib/src/io/pidma.o(.rodata*); + build/us/lib/ultralib/src/io/aigetlen.o(.rodata*); + build/us/lib/ultralib/src/io/aigetstat.o(.rodata*); + build/us/lib/ultralib/src/io/aisetfreq.o(.rodata*); + build/us/lib/ultralib/src/io/aisetnextbuf.o(.rodata*); + build/us/lib/ultralib/src/audio/env.o(.rodata*); + build/us/lib/ultralib/src/audio/sl.o(.rodata*); + build/us/lib/ultralib/src/audio/heapinit.o(.rodata*); + build/us/lib/ultralib/src/audio/synthesizer.o(.rodata*); + build/us/lib/ultralib/src/audio/syndelete.o(.rodata*); + build/us/lib/ultralib/src/audio/synaddplayer.o(.rodata*); + build/us/lib/ultralib/src/audio/synallocvoice.o(.rodata*); + build/us/lib/ultralib/src/audio/synstopvoice.o(.rodata*); + build/us/lib/ultralib/src/audio/synstartvoice.o(.rodata*); + build/us/lib/ultralib/src/audio/synsetpitch.o(.rodata*); + build/us/lib/ultralib/src/audio/synsetvol.o(.rodata*); + build/us/lib/ultralib/src/audio/synsetfxmix.o(.rodata*); + build/us/lib/ultralib/src/audio/synsetpan.o(.rodata*); + build/us/lib/ultralib/src/audio/synallocfx.o(.rodata*); + build/us/lib/ultralib/src/os/invaldcache.o(.rodata*); + build/us/lib/ultralib/src/os/writebackdcacheall.o(.rodata*); + build/us/lib/ultralib/src/io/contquery.o(.rodata*); + build/us/lib/ultralib/src/io/contreaddata.o(.rodata*); + build/us/lib/ultralib/src/io/controller.o(.rodata*); + build/us/lib/ultralib/src/io/contsetch.o(.rodata*); + build/us/lib/ultralib/src/os/virtualtophysical.o(.rodata*); + build/us/lib/ultralib/src/gu/sqrtf.o(.rodata*); + build/us/lib/ultralib/src/gu/cosf.o(.rodata*); + build/us/lib/ultralib/src/gu/ortho.o(.rodata*); + build/us/lib/ultralib/src/gu/perspective.o(.rodata*); + build/us/lib/ultralib/src/gu/rotaterpy.o(.rodata*); + build/us/lib/ultralib/src/gu/sinf.o(.rodata*); + build/us/lib/ultralib/src/gu/sins.o(.rodata*); + build/us/lib/ultralib/src/libc/bcmp.o(.rodata*); + build/us/lib/ultralib/src/libc/bcopy.o(.rodata*); + build/us/lib/ultralib/src/libc/bzero.o(.rodata*); + build/us/lib/ultralib/src/libc/string.o(.rodata*); + build/us/lib/ultralib/src/os/createmesgqueue.o(.rodata*); + build/us/lib/ultralib/src/os/jammesg.o(.rodata*); + build/us/lib/ultralib/src/os/recvmesg.o(.rodata*); + build/us/lib/ultralib/src/os/sendmesg.o(.rodata*); + build/us/lib/ultralib/src/os/seteventmesg.o(.rodata*); + build/us/lib/ultralib/src/io/sptask.o(.rodata*); + build/us/lib/ultralib/src/io/sptaskyield.o(.rodata*); + build/us/lib/ultralib/src/io/sptaskyielded.o(.rodata*); + build/us/lib/ultralib/src/sched/sched.o(.rodata*); + build/us/lib/ultralib/src/io/sirawdma.o(.rodata*); + build/us/lib/ultralib/src/io/siacs.o(.rodata*); + build/us/lib/ultralib/src/os/createthread.o(.rodata*); + build/us/lib/ultralib/src/os/getthreadpri.o(.rodata*); + build/us/lib/ultralib/src/os/setthreadpri.o(.rodata*); + build/us/lib/ultralib/src/os/startthread.o(.rodata*); + build/us/lib/ultralib/src/os/stopthread.o(.rodata*); + build/us/lib/ultralib/src/os/thread.o(.rodata*); + build/us/lib/ultralib/src/os/yieldthread.o(.rodata*); + build/us/lib/ultralib/src/os/gettime.o(.rodata*); + build/us/lib/ultralib/src/os/settime.o(.rodata*); + build/us/lib/ultralib/src/os/settimer.o(.rodata*); + build/us/lib/ultralib/src/os/timerintr.o(.rodata*); + build/us/lib/ultralib/src/os/probetlb.o(.rodata*); + build/us/lib/ultralib/src/io/vigetcurrframebuf.o(.rodata*); + build/us/lib/ultralib/src/io/vigetnextframebuf.o(.rodata*); + build/us/lib/ultralib/src/io/vimgr.o(.rodata*); + build/us/lib/ultralib/src/io/vitbl.o(.rodata*); + build/us/lib/ultralib/src/io/visetevent.o(.rodata*); + build/us/lib/ultralib/src/io/visetmode.o(.rodata*); + build/us/lib/ultralib/src/io/visetspecial.o(.rodata*); + build/us/lib/ultralib/src/io/visetyscale.o(.rodata*); + build/us/lib/ultralib/src/io/viswapbuf.o(.rodata*); + build/us/lib/ultralib/src/io/viswapcontext.o(.rodata*); + build/us/lib/ultralib/src/io/viblack.o(.rodata*); + build/us/lib/ultralib/src/mgu/mtxident.o(.rodata*); + build/us/lib/ultralib/src/mgu/mtxidentf.o(.rodata*); + build/us/lib/ultralib/src/mgu/mtxf2l.o(.rodata*); + build/us/lib/ultralib/src/mgu/mtxl2f.o(.rodata*); + build/us/lib/ultralib/src/mgu/mtxcatf.o(.rodata*); + build/us/lib/ultralib/src/mgu/scale.o(.rodata*); + build/us/lib/ultralib/src/mgu/scalef.o(.rodata*); + build/us/lib/ultralib/src/mgu/translate.o(.rodata*); + build/us/lib/ultralib/src/mgu/translatef.o(.rodata*); + build/us/lib/ultralib/src/os/initialize.o(.rodata*); + build/us/lib/ultralib/src/io/conteepread.o(.rodata*); + build/us/lib/ultralib/src/io/conteepwrite.o(.rodata*); + build/us/lib/ultralib/src/os/exceptasm.o(.rodata*); + build/us/lib/ultralib/src/os/interrupt.o(.rodata*); + build/us/lib/ultralib/src/os/setintmask.o(.rodata*); + build/us/lib/ultralib/src/os/setglobalintmask.o(.rodata*); + build/us/lib/ultralib/src/os/resetglobalintmask.o(.rodata*); + build/us/lib/ultralib/src/io/pirawdma.o(.rodata*); + build/us/lib/ultralib/src/io/pigetcmdq.o(.rodata*); + build/us/lib/ultralib/src/io/epirawread.o(.rodata*); + build/us/lib/ultralib/src/io/epirawwrite.o(.rodata*); + build/us/lib/ultralib/src/io/ai.o(.rodata*); + build/us/lib/ultralib/src/audio/drvrnew.o(.rodata*); + build/us/lib/ultralib/src/audio/load.o(.rodata*); + build/us/lib/ultralib/src/audio/auxbus.o(.rodata*); + build/us/lib/ultralib/src/audio/filter.o(.rodata*); + build/us/lib/ultralib/src/audio/mainbus.o(.rodata*); + build/us/lib/ultralib/src/audio/resample.o(.rodata*); + build/us/lib/ultralib/src/audio/reverb.o(.rodata*); + build/us/lib/ultralib/src/audio/save.o(.rodata*); + build/us/lib/ultralib/src/audio/heapalloc.o(.rodata*); + build/us/lib/ultralib/src/audio/copy.o(.rodata*); + build/us/lib/ultralib/src/os/invalicache.o(.rodata*); + build/us/lib/ultralib/src/os/writebackdcache.o(.rodata*); + build/us/lib/ultralib/src/io/dpsetnextbuf.o(.rodata*); + build/us/lib/ultralib/src/os/getcause.o(.rodata*); + build/us/lib/ultralib/src/os/getcount.o(.rodata*); + build/us/lib/ultralib/src/os/getsr.o(.rodata*); + build/us/lib/ultralib/src/os/setcompare.o(.rodata*); + build/us/lib/ultralib/src/os/setfpccsr.o(.rodata*); + build/us/lib/ultralib/src/os/setsr.o(.rodata*); + build/us/lib/ultralib/src/os/setwatchlo.o(.rodata*); + build/us/lib/ultralib/src/io/sp.o(.rodata*); + build/us/lib/ultralib/src/io/spgetstat.o(.rodata*); + build/us/lib/ultralib/src/io/spsetstat.o(.rodata*); + build/us/lib/ultralib/src/io/spsetpc.o(.rodata*); + build/us/lib/ultralib/src/io/sprawdma.o(.rodata*); + build/us/lib/ultralib/src/io/sirawread.o(.rodata*); + build/us/lib/ultralib/src/io/sirawwrite.o(.rodata*); + build/us/lib/ultralib/src/os/destroythread.o(.rodata*); + build/us/lib/ultralib/src/os/maptlbrdb.o(.rodata*); + build/us/lib/ultralib/src/os/unmaptlball.o(.rodata*); + build/us/lib/ultralib/src/io/vi.o(.rodata*); + build/us/lib/ultralib/src/io/vigetcurrcontext.o(.rodata*); + build/us/lib/ultralib/src/vimodes/vimodentsclan1.o(.rodata*); + build/us/lib/ultralib/src/vimodes/vimodepallan1.o(.rodata*); + build/us/lib/ultralib/src/vimodes/vimodempallan1.o(.rodata*); + build/us/lib/ultralib/src/os/parameters.o(.rodata*); + build/us/lib/ultralib/src/gu/libm_vals.o(.rodata*); + build/us/lib/ultralib/src/io/dp.o(.rodata*); + build/us/lib/ultralib/src/io/si.o(.rodata*); + build/us/src/libkmc/fmod.o(.rodata*); + build/us/src/libkmc/memmove.o(.rodata*); + build/us/src/libkmc/memset.o(.rodata*); + build/us/src/libkmc/modf.o(.rodata*); + build/us/src/libkmc/rand.o(.rodata*); + build/us/src/libkmc/strcpy.o(.rodata*); + build/us/src/libkmc/mmuldi3.o(.rodata*); + build/us/src/libkmc/ctype.o(.rodata*); + build/us/asm/us/data/boot/8001B640.bss.o(.rodata*); + . = ALIGN(., 0x10); + boot_RODATA_END = .; + boot_RODATA_SIZE = ABSOLUTE(boot_RODATA_END - boot_RODATA_START); + } + + .sdata : + { + FILL(0x00000000); + boot_SDATA_START = .; + build/us/src/boot/boot_main.o(.sdata*); + build/us/src/boot/dmadata.o(.sdata*); + build/us/src/gzip/inflate.o(.sdata*); + build/us/src/gzip/unzip.o(.sdata*); + build/us/src/boot/util.o(.sdata*); + build/us/src/boot/rom_offsets.o(.sdata*); + build/us/lib/ultralib/src/io/conteepprobe.o(.sdata*); + build/us/lib/ultralib/src/io/conteeplongwrite.o(.sdata*); + build/us/lib/ultralib/src/io/conteeplongread.o(.sdata*); + build/us/lib/ultralib/src/io/pimgr.o(.sdata*); + build/us/lib/ultralib/src/io/epirawdma.o(.sdata*); + build/us/lib/ultralib/src/io/epidma.o(.sdata*); + build/us/lib/ultralib/src/io/cartrominit.o(.sdata*); + build/us/lib/ultralib/src/io/devmgr.o(.sdata*); + build/us/lib/ultralib/src/io/piacs.o(.sdata*); + build/us/lib/ultralib/src/io/pidma.o(.sdata*); + build/us/lib/ultralib/src/io/aigetlen.o(.sdata*); + build/us/lib/ultralib/src/io/aigetstat.o(.sdata*); + build/us/lib/ultralib/src/io/aisetfreq.o(.sdata*); + build/us/lib/ultralib/src/io/aisetnextbuf.o(.sdata*); + build/us/lib/ultralib/src/audio/env.o(.sdata*); + build/us/lib/ultralib/src/audio/sl.o(.sdata*); + build/us/lib/ultralib/src/audio/heapinit.o(.sdata*); + build/us/lib/ultralib/src/audio/synthesizer.o(.sdata*); + build/us/lib/ultralib/src/audio/syndelete.o(.sdata*); + build/us/lib/ultralib/src/audio/synaddplayer.o(.sdata*); + build/us/lib/ultralib/src/audio/synallocvoice.o(.sdata*); + build/us/lib/ultralib/src/audio/synstopvoice.o(.sdata*); + build/us/lib/ultralib/src/audio/synstartvoice.o(.sdata*); + build/us/lib/ultralib/src/audio/synsetpitch.o(.sdata*); + build/us/lib/ultralib/src/audio/synsetvol.o(.sdata*); + build/us/lib/ultralib/src/audio/synsetfxmix.o(.sdata*); + build/us/lib/ultralib/src/audio/synsetpan.o(.sdata*); + build/us/lib/ultralib/src/audio/synallocfx.o(.sdata*); + build/us/lib/ultralib/src/os/invaldcache.o(.sdata*); + build/us/lib/ultralib/src/os/writebackdcacheall.o(.sdata*); + build/us/lib/ultralib/src/io/contquery.o(.sdata*); + build/us/lib/ultralib/src/io/contreaddata.o(.sdata*); + build/us/lib/ultralib/src/io/controller.o(.sdata*); + build/us/lib/ultralib/src/io/contsetch.o(.sdata*); + build/us/lib/ultralib/src/os/virtualtophysical.o(.sdata*); + build/us/lib/ultralib/src/gu/sqrtf.o(.sdata*); + build/us/lib/ultralib/src/gu/cosf.o(.sdata*); + build/us/lib/ultralib/src/gu/ortho.o(.sdata*); + build/us/lib/ultralib/src/gu/perspective.o(.sdata*); + build/us/lib/ultralib/src/gu/rotaterpy.o(.sdata*); + build/us/lib/ultralib/src/gu/sinf.o(.sdata*); + build/us/lib/ultralib/src/gu/sins.o(.sdata*); + build/us/lib/ultralib/src/libc/bcmp.o(.sdata*); + build/us/lib/ultralib/src/libc/bcopy.o(.sdata*); + build/us/lib/ultralib/src/libc/bzero.o(.sdata*); + build/us/lib/ultralib/src/libc/string.o(.sdata*); + build/us/lib/ultralib/src/os/createmesgqueue.o(.sdata*); + build/us/lib/ultralib/src/os/jammesg.o(.sdata*); + build/us/lib/ultralib/src/os/recvmesg.o(.sdata*); + build/us/lib/ultralib/src/os/sendmesg.o(.sdata*); + build/us/lib/ultralib/src/os/seteventmesg.o(.sdata*); + build/us/lib/ultralib/src/io/sptask.o(.sdata*); + build/us/lib/ultralib/src/io/sptaskyield.o(.sdata*); + build/us/lib/ultralib/src/io/sptaskyielded.o(.sdata*); + build/us/lib/ultralib/src/sched/sched.o(.sdata*); + build/us/lib/ultralib/src/io/sirawdma.o(.sdata*); + build/us/lib/ultralib/src/io/siacs.o(.sdata*); + build/us/lib/ultralib/src/os/createthread.o(.sdata*); + build/us/lib/ultralib/src/os/getthreadpri.o(.sdata*); + build/us/lib/ultralib/src/os/setthreadpri.o(.sdata*); + build/us/lib/ultralib/src/os/startthread.o(.sdata*); + build/us/lib/ultralib/src/os/stopthread.o(.sdata*); + build/us/lib/ultralib/src/os/thread.o(.sdata*); + build/us/lib/ultralib/src/os/yieldthread.o(.sdata*); + build/us/lib/ultralib/src/os/gettime.o(.sdata*); + build/us/lib/ultralib/src/os/settime.o(.sdata*); + build/us/lib/ultralib/src/os/settimer.o(.sdata*); + build/us/lib/ultralib/src/os/timerintr.o(.sdata*); + build/us/lib/ultralib/src/os/probetlb.o(.sdata*); + build/us/lib/ultralib/src/io/vigetcurrframebuf.o(.sdata*); + build/us/lib/ultralib/src/io/vigetnextframebuf.o(.sdata*); + build/us/lib/ultralib/src/io/vimgr.o(.sdata*); + build/us/lib/ultralib/src/io/vitbl.o(.sdata*); + build/us/lib/ultralib/src/io/visetevent.o(.sdata*); + build/us/lib/ultralib/src/io/visetmode.o(.sdata*); + build/us/lib/ultralib/src/io/visetspecial.o(.sdata*); + build/us/lib/ultralib/src/io/visetyscale.o(.sdata*); + build/us/lib/ultralib/src/io/viswapbuf.o(.sdata*); + build/us/lib/ultralib/src/io/viswapcontext.o(.sdata*); + build/us/lib/ultralib/src/io/viblack.o(.sdata*); + build/us/lib/ultralib/src/mgu/mtxident.o(.sdata*); + build/us/lib/ultralib/src/mgu/mtxidentf.o(.sdata*); + build/us/lib/ultralib/src/mgu/mtxf2l.o(.sdata*); + build/us/lib/ultralib/src/mgu/mtxl2f.o(.sdata*); + build/us/lib/ultralib/src/mgu/mtxcatf.o(.sdata*); + build/us/lib/ultralib/src/mgu/scale.o(.sdata*); + build/us/lib/ultralib/src/mgu/scalef.o(.sdata*); + build/us/lib/ultralib/src/mgu/translate.o(.sdata*); + build/us/lib/ultralib/src/mgu/translatef.o(.sdata*); + build/us/lib/ultralib/src/os/initialize.o(.sdata*); + build/us/lib/ultralib/src/io/conteepread.o(.sdata*); + build/us/lib/ultralib/src/io/conteepwrite.o(.sdata*); + build/us/lib/ultralib/src/os/exceptasm.o(.sdata*); + build/us/lib/ultralib/src/os/interrupt.o(.sdata*); + build/us/lib/ultralib/src/os/setintmask.o(.sdata*); + build/us/lib/ultralib/src/os/setglobalintmask.o(.sdata*); + build/us/lib/ultralib/src/os/resetglobalintmask.o(.sdata*); + build/us/lib/ultralib/src/io/pirawdma.o(.sdata*); + build/us/lib/ultralib/src/io/pigetcmdq.o(.sdata*); + build/us/lib/ultralib/src/io/epirawread.o(.sdata*); + build/us/lib/ultralib/src/io/epirawwrite.o(.sdata*); + build/us/lib/ultralib/src/io/ai.o(.sdata*); + build/us/lib/ultralib/src/audio/drvrnew.o(.sdata*); + build/us/lib/ultralib/src/audio/load.o(.sdata*); + build/us/lib/ultralib/src/audio/auxbus.o(.sdata*); + build/us/lib/ultralib/src/audio/filter.o(.sdata*); + build/us/lib/ultralib/src/audio/mainbus.o(.sdata*); + build/us/lib/ultralib/src/audio/resample.o(.sdata*); + build/us/lib/ultralib/src/audio/reverb.o(.sdata*); + build/us/lib/ultralib/src/audio/save.o(.sdata*); + build/us/lib/ultralib/src/audio/heapalloc.o(.sdata*); + build/us/lib/ultralib/src/audio/copy.o(.sdata*); + build/us/lib/ultralib/src/os/invalicache.o(.sdata*); + build/us/lib/ultralib/src/os/writebackdcache.o(.sdata*); + build/us/lib/ultralib/src/io/dpsetnextbuf.o(.sdata*); + build/us/lib/ultralib/src/os/getcause.o(.sdata*); + build/us/lib/ultralib/src/os/getcount.o(.sdata*); + build/us/lib/ultralib/src/os/getsr.o(.sdata*); + build/us/lib/ultralib/src/os/setcompare.o(.sdata*); + build/us/lib/ultralib/src/os/setfpccsr.o(.sdata*); + build/us/lib/ultralib/src/os/setsr.o(.sdata*); + build/us/lib/ultralib/src/os/setwatchlo.o(.sdata*); + build/us/lib/ultralib/src/io/sp.o(.sdata*); + build/us/lib/ultralib/src/io/spgetstat.o(.sdata*); + build/us/lib/ultralib/src/io/spsetstat.o(.sdata*); + build/us/lib/ultralib/src/io/spsetpc.o(.sdata*); + build/us/lib/ultralib/src/io/sprawdma.o(.sdata*); + build/us/lib/ultralib/src/io/sirawread.o(.sdata*); + build/us/lib/ultralib/src/io/sirawwrite.o(.sdata*); + build/us/lib/ultralib/src/os/destroythread.o(.sdata*); + build/us/lib/ultralib/src/os/maptlbrdb.o(.sdata*); + build/us/lib/ultralib/src/os/unmaptlball.o(.sdata*); + build/us/lib/ultralib/src/io/vi.o(.sdata*); + build/us/lib/ultralib/src/io/vigetcurrcontext.o(.sdata*); + build/us/lib/ultralib/src/vimodes/vimodentsclan1.o(.sdata*); + build/us/lib/ultralib/src/vimodes/vimodepallan1.o(.sdata*); + build/us/lib/ultralib/src/vimodes/vimodempallan1.o(.sdata*); + build/us/lib/ultralib/src/os/parameters.o(.sdata*); + build/us/lib/ultralib/src/gu/libm_vals.o(.sdata*); + build/us/lib/ultralib/src/io/dp.o(.sdata*); + build/us/lib/ultralib/src/io/si.o(.sdata*); + build/us/src/libkmc/fmod.o(.sdata*); + build/us/src/libkmc/memmove.o(.sdata*); + build/us/src/libkmc/memset.o(.sdata*); + build/us/src/libkmc/modf.o(.sdata*); + build/us/src/libkmc/rand.o(.sdata*); + build/us/src/libkmc/strcpy.o(.sdata*); + build/us/src/libkmc/mmuldi3.o(.sdata*); + build/us/src/libkmc/ctype.o(.sdata*); + build/us/asm/us/data/boot/8001B640.bss.o(.sdata*); + . = ALIGN(., 0x10); + boot_SDATA_END = .; + boot_SDATA_SIZE = ABSOLUTE(boot_SDATA_END - boot_SDATA_START); + } + + .sbss (NOLOAD) : + { + FILL(0x00000000); + boot_SBSS_START = .; + build/us/src/boot/boot_main.o(.sbss*); + build/us/src/boot/dmadata.o(.sbss*); + build/us/src/gzip/inflate.o(.sbss*); + build/us/src/gzip/unzip.o(.sbss*); + build/us/src/boot/util.o(.sbss*); + build/us/src/boot/rom_offsets.o(.sbss*); + build/us/lib/ultralib/src/io/conteepprobe.o(.sbss*); + build/us/lib/ultralib/src/io/conteeplongwrite.o(.sbss*); + build/us/lib/ultralib/src/io/conteeplongread.o(.sbss*); + build/us/lib/ultralib/src/io/pimgr.o(.sbss*); + build/us/lib/ultralib/src/io/epirawdma.o(.sbss*); + build/us/lib/ultralib/src/io/epidma.o(.sbss*); + build/us/lib/ultralib/src/io/cartrominit.o(.sbss*); + build/us/lib/ultralib/src/io/devmgr.o(.sbss*); + build/us/lib/ultralib/src/io/piacs.o(.sbss*); + build/us/lib/ultralib/src/io/pidma.o(.sbss*); + build/us/lib/ultralib/src/io/aigetlen.o(.sbss*); + build/us/lib/ultralib/src/io/aigetstat.o(.sbss*); + build/us/lib/ultralib/src/io/aisetfreq.o(.sbss*); + build/us/lib/ultralib/src/io/aisetnextbuf.o(.sbss*); + build/us/lib/ultralib/src/audio/env.o(.sbss*); + build/us/lib/ultralib/src/audio/sl.o(.sbss*); + build/us/lib/ultralib/src/audio/heapinit.o(.sbss*); + build/us/lib/ultralib/src/audio/synthesizer.o(.sbss*); + build/us/lib/ultralib/src/audio/syndelete.o(.sbss*); + build/us/lib/ultralib/src/audio/synaddplayer.o(.sbss*); + build/us/lib/ultralib/src/audio/synallocvoice.o(.sbss*); + build/us/lib/ultralib/src/audio/synstopvoice.o(.sbss*); + build/us/lib/ultralib/src/audio/synstartvoice.o(.sbss*); + build/us/lib/ultralib/src/audio/synsetpitch.o(.sbss*); + build/us/lib/ultralib/src/audio/synsetvol.o(.sbss*); + build/us/lib/ultralib/src/audio/synsetfxmix.o(.sbss*); + build/us/lib/ultralib/src/audio/synsetpan.o(.sbss*); + build/us/lib/ultralib/src/audio/synallocfx.o(.sbss*); + build/us/lib/ultralib/src/os/invaldcache.o(.sbss*); + build/us/lib/ultralib/src/os/writebackdcacheall.o(.sbss*); + build/us/lib/ultralib/src/io/contquery.o(.sbss*); + build/us/lib/ultralib/src/io/contreaddata.o(.sbss*); + build/us/lib/ultralib/src/io/controller.o(.sbss*); + build/us/lib/ultralib/src/io/contsetch.o(.sbss*); + build/us/lib/ultralib/src/os/virtualtophysical.o(.sbss*); + build/us/lib/ultralib/src/gu/sqrtf.o(.sbss*); + build/us/lib/ultralib/src/gu/cosf.o(.sbss*); + build/us/lib/ultralib/src/gu/ortho.o(.sbss*); + build/us/lib/ultralib/src/gu/perspective.o(.sbss*); + build/us/lib/ultralib/src/gu/rotaterpy.o(.sbss*); + build/us/lib/ultralib/src/gu/sinf.o(.sbss*); + build/us/lib/ultralib/src/gu/sins.o(.sbss*); + build/us/lib/ultralib/src/libc/bcmp.o(.sbss*); + build/us/lib/ultralib/src/libc/bcopy.o(.sbss*); + build/us/lib/ultralib/src/libc/bzero.o(.sbss*); + build/us/lib/ultralib/src/libc/string.o(.sbss*); + build/us/lib/ultralib/src/os/createmesgqueue.o(.sbss*); + build/us/lib/ultralib/src/os/jammesg.o(.sbss*); + build/us/lib/ultralib/src/os/recvmesg.o(.sbss*); + build/us/lib/ultralib/src/os/sendmesg.o(.sbss*); + build/us/lib/ultralib/src/os/seteventmesg.o(.sbss*); + build/us/lib/ultralib/src/io/sptask.o(.sbss*); + build/us/lib/ultralib/src/io/sptaskyield.o(.sbss*); + build/us/lib/ultralib/src/io/sptaskyielded.o(.sbss*); + build/us/lib/ultralib/src/sched/sched.o(.sbss*); + build/us/lib/ultralib/src/io/sirawdma.o(.sbss*); + build/us/lib/ultralib/src/io/siacs.o(.sbss*); + build/us/lib/ultralib/src/os/createthread.o(.sbss*); + build/us/lib/ultralib/src/os/getthreadpri.o(.sbss*); + build/us/lib/ultralib/src/os/setthreadpri.o(.sbss*); + build/us/lib/ultralib/src/os/startthread.o(.sbss*); + build/us/lib/ultralib/src/os/stopthread.o(.sbss*); + build/us/lib/ultralib/src/os/thread.o(.sbss*); + build/us/lib/ultralib/src/os/yieldthread.o(.sbss*); + build/us/lib/ultralib/src/os/gettime.o(.sbss*); + build/us/lib/ultralib/src/os/settime.o(.sbss*); + build/us/lib/ultralib/src/os/settimer.o(.sbss*); + build/us/lib/ultralib/src/os/timerintr.o(.sbss*); + build/us/lib/ultralib/src/os/probetlb.o(.sbss*); + build/us/lib/ultralib/src/io/vigetcurrframebuf.o(.sbss*); + build/us/lib/ultralib/src/io/vigetnextframebuf.o(.sbss*); + build/us/lib/ultralib/src/io/vimgr.o(.sbss*); + build/us/lib/ultralib/src/io/vitbl.o(.sbss*); + build/us/lib/ultralib/src/io/visetevent.o(.sbss*); + build/us/lib/ultralib/src/io/visetmode.o(.sbss*); + build/us/lib/ultralib/src/io/visetspecial.o(.sbss*); + build/us/lib/ultralib/src/io/visetyscale.o(.sbss*); + build/us/lib/ultralib/src/io/viswapbuf.o(.sbss*); + build/us/lib/ultralib/src/io/viswapcontext.o(.sbss*); + build/us/lib/ultralib/src/io/viblack.o(.sbss*); + build/us/lib/ultralib/src/mgu/mtxident.o(.sbss*); + build/us/lib/ultralib/src/mgu/mtxidentf.o(.sbss*); + build/us/lib/ultralib/src/mgu/mtxf2l.o(.sbss*); + build/us/lib/ultralib/src/mgu/mtxl2f.o(.sbss*); + build/us/lib/ultralib/src/mgu/mtxcatf.o(.sbss*); + build/us/lib/ultralib/src/mgu/scale.o(.sbss*); + build/us/lib/ultralib/src/mgu/scalef.o(.sbss*); + build/us/lib/ultralib/src/mgu/translate.o(.sbss*); + build/us/lib/ultralib/src/mgu/translatef.o(.sbss*); + build/us/lib/ultralib/src/os/initialize.o(.sbss*); + build/us/lib/ultralib/src/io/conteepread.o(.sbss*); + build/us/lib/ultralib/src/io/conteepwrite.o(.sbss*); + build/us/lib/ultralib/src/os/exceptasm.o(.sbss*); + build/us/lib/ultralib/src/os/interrupt.o(.sbss*); + build/us/lib/ultralib/src/os/setintmask.o(.sbss*); + build/us/lib/ultralib/src/os/setglobalintmask.o(.sbss*); + build/us/lib/ultralib/src/os/resetglobalintmask.o(.sbss*); + build/us/lib/ultralib/src/io/pirawdma.o(.sbss*); + build/us/lib/ultralib/src/io/pigetcmdq.o(.sbss*); + build/us/lib/ultralib/src/io/epirawread.o(.sbss*); + build/us/lib/ultralib/src/io/epirawwrite.o(.sbss*); + build/us/lib/ultralib/src/io/ai.o(.sbss*); + build/us/lib/ultralib/src/audio/drvrnew.o(.sbss*); + build/us/lib/ultralib/src/audio/load.o(.sbss*); + build/us/lib/ultralib/src/audio/auxbus.o(.sbss*); + build/us/lib/ultralib/src/audio/filter.o(.sbss*); + build/us/lib/ultralib/src/audio/mainbus.o(.sbss*); + build/us/lib/ultralib/src/audio/resample.o(.sbss*); + build/us/lib/ultralib/src/audio/reverb.o(.sbss*); + build/us/lib/ultralib/src/audio/save.o(.sbss*); + build/us/lib/ultralib/src/audio/heapalloc.o(.sbss*); + build/us/lib/ultralib/src/audio/copy.o(.sbss*); + build/us/lib/ultralib/src/os/invalicache.o(.sbss*); + build/us/lib/ultralib/src/os/writebackdcache.o(.sbss*); + build/us/lib/ultralib/src/io/dpsetnextbuf.o(.sbss*); + build/us/lib/ultralib/src/os/getcause.o(.sbss*); + build/us/lib/ultralib/src/os/getcount.o(.sbss*); + build/us/lib/ultralib/src/os/getsr.o(.sbss*); + build/us/lib/ultralib/src/os/setcompare.o(.sbss*); + build/us/lib/ultralib/src/os/setfpccsr.o(.sbss*); + build/us/lib/ultralib/src/os/setsr.o(.sbss*); + build/us/lib/ultralib/src/os/setwatchlo.o(.sbss*); + build/us/lib/ultralib/src/io/sp.o(.sbss*); + build/us/lib/ultralib/src/io/spgetstat.o(.sbss*); + build/us/lib/ultralib/src/io/spsetstat.o(.sbss*); + build/us/lib/ultralib/src/io/spsetpc.o(.sbss*); + build/us/lib/ultralib/src/io/sprawdma.o(.sbss*); + build/us/lib/ultralib/src/io/sirawread.o(.sbss*); + build/us/lib/ultralib/src/io/sirawwrite.o(.sbss*); + build/us/lib/ultralib/src/os/destroythread.o(.sbss*); + build/us/lib/ultralib/src/os/maptlbrdb.o(.sbss*); + build/us/lib/ultralib/src/os/unmaptlball.o(.sbss*); + build/us/lib/ultralib/src/io/vi.o(.sbss*); + build/us/lib/ultralib/src/io/vigetcurrcontext.o(.sbss*); + build/us/lib/ultralib/src/vimodes/vimodentsclan1.o(.sbss*); + build/us/lib/ultralib/src/vimodes/vimodepallan1.o(.sbss*); + build/us/lib/ultralib/src/vimodes/vimodempallan1.o(.sbss*); + build/us/lib/ultralib/src/os/parameters.o(.sbss*); + build/us/lib/ultralib/src/gu/libm_vals.o(.sbss*); + build/us/lib/ultralib/src/io/dp.o(.sbss*); + build/us/lib/ultralib/src/io/si.o(.sbss*); + build/us/src/libkmc/fmod.o(.sbss*); + build/us/src/libkmc/memmove.o(.sbss*); + build/us/src/libkmc/memset.o(.sbss*); + build/us/src/libkmc/modf.o(.sbss*); + build/us/src/libkmc/rand.o(.sbss*); + build/us/src/libkmc/strcpy.o(.sbss*); + build/us/src/libkmc/mmuldi3.o(.sbss*); + build/us/src/libkmc/ctype.o(.sbss*); + build/us/asm/us/data/boot/8001B640.bss.o(.sbss*); + . = ALIGN(., 0x10); + boot_SBSS_END = .; + boot_SBSS_SIZE = ABSOLUTE(boot_SBSS_END - boot_SBSS_START); + } + + .scommon (NOLOAD) : + { + FILL(0x00000000); + boot_SCOMMON_START = .; + build/us/src/boot/boot_main.o(.scommon*); + build/us/src/boot/dmadata.o(.scommon*); + build/us/src/gzip/inflate.o(.scommon*); + build/us/src/gzip/unzip.o(.scommon*); + build/us/src/boot/util.o(.scommon*); + build/us/src/boot/rom_offsets.o(.scommon*); + build/us/lib/ultralib/src/io/conteepprobe.o(.scommon*); + build/us/lib/ultralib/src/io/conteeplongwrite.o(.scommon*); + build/us/lib/ultralib/src/io/conteeplongread.o(.scommon*); + build/us/lib/ultralib/src/io/pimgr.o(.scommon*); + build/us/lib/ultralib/src/io/epirawdma.o(.scommon*); + build/us/lib/ultralib/src/io/epidma.o(.scommon*); + build/us/lib/ultralib/src/io/cartrominit.o(.scommon*); + build/us/lib/ultralib/src/io/devmgr.o(.scommon*); + build/us/lib/ultralib/src/io/piacs.o(.scommon*); + build/us/lib/ultralib/src/io/pidma.o(.scommon*); + build/us/lib/ultralib/src/io/aigetlen.o(.scommon*); + build/us/lib/ultralib/src/io/aigetstat.o(.scommon*); + build/us/lib/ultralib/src/io/aisetfreq.o(.scommon*); + build/us/lib/ultralib/src/io/aisetnextbuf.o(.scommon*); + build/us/lib/ultralib/src/audio/env.o(.scommon*); + build/us/lib/ultralib/src/audio/sl.o(.scommon*); + build/us/lib/ultralib/src/audio/heapinit.o(.scommon*); + build/us/lib/ultralib/src/audio/synthesizer.o(.scommon*); + build/us/lib/ultralib/src/audio/syndelete.o(.scommon*); + build/us/lib/ultralib/src/audio/synaddplayer.o(.scommon*); + build/us/lib/ultralib/src/audio/synallocvoice.o(.scommon*); + build/us/lib/ultralib/src/audio/synstopvoice.o(.scommon*); + build/us/lib/ultralib/src/audio/synstartvoice.o(.scommon*); + build/us/lib/ultralib/src/audio/synsetpitch.o(.scommon*); + build/us/lib/ultralib/src/audio/synsetvol.o(.scommon*); + build/us/lib/ultralib/src/audio/synsetfxmix.o(.scommon*); + build/us/lib/ultralib/src/audio/synsetpan.o(.scommon*); + build/us/lib/ultralib/src/audio/synallocfx.o(.scommon*); + build/us/lib/ultralib/src/os/invaldcache.o(.scommon*); + build/us/lib/ultralib/src/os/writebackdcacheall.o(.scommon*); + build/us/lib/ultralib/src/io/contquery.o(.scommon*); + build/us/lib/ultralib/src/io/contreaddata.o(.scommon*); + build/us/lib/ultralib/src/io/controller.o(.scommon*); + build/us/lib/ultralib/src/io/contsetch.o(.scommon*); + build/us/lib/ultralib/src/os/virtualtophysical.o(.scommon*); + build/us/lib/ultralib/src/gu/sqrtf.o(.scommon*); + build/us/lib/ultralib/src/gu/cosf.o(.scommon*); + build/us/lib/ultralib/src/gu/ortho.o(.scommon*); + build/us/lib/ultralib/src/gu/perspective.o(.scommon*); + build/us/lib/ultralib/src/gu/rotaterpy.o(.scommon*); + build/us/lib/ultralib/src/gu/sinf.o(.scommon*); + build/us/lib/ultralib/src/gu/sins.o(.scommon*); + build/us/lib/ultralib/src/libc/bcmp.o(.scommon*); + build/us/lib/ultralib/src/libc/bcopy.o(.scommon*); + build/us/lib/ultralib/src/libc/bzero.o(.scommon*); + build/us/lib/ultralib/src/libc/string.o(.scommon*); + build/us/lib/ultralib/src/os/createmesgqueue.o(.scommon*); + build/us/lib/ultralib/src/os/jammesg.o(.scommon*); + build/us/lib/ultralib/src/os/recvmesg.o(.scommon*); + build/us/lib/ultralib/src/os/sendmesg.o(.scommon*); + build/us/lib/ultralib/src/os/seteventmesg.o(.scommon*); + build/us/lib/ultralib/src/io/sptask.o(.scommon*); + build/us/lib/ultralib/src/io/sptaskyield.o(.scommon*); + build/us/lib/ultralib/src/io/sptaskyielded.o(.scommon*); + build/us/lib/ultralib/src/sched/sched.o(.scommon*); + build/us/lib/ultralib/src/io/sirawdma.o(.scommon*); + build/us/lib/ultralib/src/io/siacs.o(.scommon*); + build/us/lib/ultralib/src/os/createthread.o(.scommon*); + build/us/lib/ultralib/src/os/getthreadpri.o(.scommon*); + build/us/lib/ultralib/src/os/setthreadpri.o(.scommon*); + build/us/lib/ultralib/src/os/startthread.o(.scommon*); + build/us/lib/ultralib/src/os/stopthread.o(.scommon*); + build/us/lib/ultralib/src/os/thread.o(.scommon*); + build/us/lib/ultralib/src/os/yieldthread.o(.scommon*); + build/us/lib/ultralib/src/os/gettime.o(.scommon*); + build/us/lib/ultralib/src/os/settime.o(.scommon*); + build/us/lib/ultralib/src/os/settimer.o(.scommon*); + build/us/lib/ultralib/src/os/timerintr.o(.scommon*); + build/us/lib/ultralib/src/os/probetlb.o(.scommon*); + build/us/lib/ultralib/src/io/vigetcurrframebuf.o(.scommon*); + build/us/lib/ultralib/src/io/vigetnextframebuf.o(.scommon*); + build/us/lib/ultralib/src/io/vimgr.o(.scommon*); + build/us/lib/ultralib/src/io/vitbl.o(.scommon*); + build/us/lib/ultralib/src/io/visetevent.o(.scommon*); + build/us/lib/ultralib/src/io/visetmode.o(.scommon*); + build/us/lib/ultralib/src/io/visetspecial.o(.scommon*); + build/us/lib/ultralib/src/io/visetyscale.o(.scommon*); + build/us/lib/ultralib/src/io/viswapbuf.o(.scommon*); + build/us/lib/ultralib/src/io/viswapcontext.o(.scommon*); + build/us/lib/ultralib/src/io/viblack.o(.scommon*); + build/us/lib/ultralib/src/mgu/mtxident.o(.scommon*); + build/us/lib/ultralib/src/mgu/mtxidentf.o(.scommon*); + build/us/lib/ultralib/src/mgu/mtxf2l.o(.scommon*); + build/us/lib/ultralib/src/mgu/mtxl2f.o(.scommon*); + build/us/lib/ultralib/src/mgu/mtxcatf.o(.scommon*); + build/us/lib/ultralib/src/mgu/scale.o(.scommon*); + build/us/lib/ultralib/src/mgu/scalef.o(.scommon*); + build/us/lib/ultralib/src/mgu/translate.o(.scommon*); + build/us/lib/ultralib/src/mgu/translatef.o(.scommon*); + build/us/lib/ultralib/src/os/initialize.o(.scommon*); + build/us/lib/ultralib/src/io/conteepread.o(.scommon*); + build/us/lib/ultralib/src/io/conteepwrite.o(.scommon*); + build/us/lib/ultralib/src/os/exceptasm.o(.scommon*); + build/us/lib/ultralib/src/os/interrupt.o(.scommon*); + build/us/lib/ultralib/src/os/setintmask.o(.scommon*); + build/us/lib/ultralib/src/os/setglobalintmask.o(.scommon*); + build/us/lib/ultralib/src/os/resetglobalintmask.o(.scommon*); + build/us/lib/ultralib/src/io/pirawdma.o(.scommon*); + build/us/lib/ultralib/src/io/pigetcmdq.o(.scommon*); + build/us/lib/ultralib/src/io/epirawread.o(.scommon*); + build/us/lib/ultralib/src/io/epirawwrite.o(.scommon*); + build/us/lib/ultralib/src/io/ai.o(.scommon*); + build/us/lib/ultralib/src/audio/drvrnew.o(.scommon*); + build/us/lib/ultralib/src/audio/load.o(.scommon*); + build/us/lib/ultralib/src/audio/auxbus.o(.scommon*); + build/us/lib/ultralib/src/audio/filter.o(.scommon*); + build/us/lib/ultralib/src/audio/mainbus.o(.scommon*); + build/us/lib/ultralib/src/audio/resample.o(.scommon*); + build/us/lib/ultralib/src/audio/reverb.o(.scommon*); + build/us/lib/ultralib/src/audio/save.o(.scommon*); + build/us/lib/ultralib/src/audio/heapalloc.o(.scommon*); + build/us/lib/ultralib/src/audio/copy.o(.scommon*); + build/us/lib/ultralib/src/os/invalicache.o(.scommon*); + build/us/lib/ultralib/src/os/writebackdcache.o(.scommon*); + build/us/lib/ultralib/src/io/dpsetnextbuf.o(.scommon*); + build/us/lib/ultralib/src/os/getcause.o(.scommon*); + build/us/lib/ultralib/src/os/getcount.o(.scommon*); + build/us/lib/ultralib/src/os/getsr.o(.scommon*); + build/us/lib/ultralib/src/os/setcompare.o(.scommon*); + build/us/lib/ultralib/src/os/setfpccsr.o(.scommon*); + build/us/lib/ultralib/src/os/setsr.o(.scommon*); + build/us/lib/ultralib/src/os/setwatchlo.o(.scommon*); + build/us/lib/ultralib/src/io/sp.o(.scommon*); + build/us/lib/ultralib/src/io/spgetstat.o(.scommon*); + build/us/lib/ultralib/src/io/spsetstat.o(.scommon*); + build/us/lib/ultralib/src/io/spsetpc.o(.scommon*); + build/us/lib/ultralib/src/io/sprawdma.o(.scommon*); + build/us/lib/ultralib/src/io/sirawread.o(.scommon*); + build/us/lib/ultralib/src/io/sirawwrite.o(.scommon*); + build/us/lib/ultralib/src/os/destroythread.o(.scommon*); + build/us/lib/ultralib/src/os/maptlbrdb.o(.scommon*); + build/us/lib/ultralib/src/os/unmaptlball.o(.scommon*); + build/us/lib/ultralib/src/io/vi.o(.scommon*); + build/us/lib/ultralib/src/io/vigetcurrcontext.o(.scommon*); + build/us/lib/ultralib/src/vimodes/vimodentsclan1.o(.scommon*); + build/us/lib/ultralib/src/vimodes/vimodepallan1.o(.scommon*); + build/us/lib/ultralib/src/vimodes/vimodempallan1.o(.scommon*); + build/us/lib/ultralib/src/os/parameters.o(.scommon*); + build/us/lib/ultralib/src/gu/libm_vals.o(.scommon*); + build/us/lib/ultralib/src/io/dp.o(.scommon*); + build/us/lib/ultralib/src/io/si.o(.scommon*); + build/us/src/libkmc/fmod.o(.scommon*); + build/us/src/libkmc/memmove.o(.scommon*); + build/us/src/libkmc/memset.o(.scommon*); + build/us/src/libkmc/modf.o(.scommon*); + build/us/src/libkmc/rand.o(.scommon*); + build/us/src/libkmc/strcpy.o(.scommon*); + build/us/src/libkmc/mmuldi3.o(.scommon*); + build/us/src/libkmc/ctype.o(.scommon*); + build/us/asm/us/data/boot/8001B640.bss.o(.scommon*); + . = ALIGN(., 0x10); + boot_SCOMMON_END = .; + boot_SCOMMON_SIZE = ABSOLUTE(boot_SCOMMON_END - boot_SCOMMON_START); + } + + .bss (NOLOAD) : + { + FILL(0x00000000); + boot_BSS_START = .; + build/us/src/boot/boot_main.o(.bss*); + build/us/src/boot/dmadata.o(.bss*); + build/us/src/gzip/inflate.o(.bss*); + build/us/src/gzip/unzip.o(.bss*); + build/us/src/boot/util.o(.bss*); + build/us/src/boot/rom_offsets.o(.bss*); + build/us/lib/ultralib/src/io/conteepprobe.o(.bss*); + build/us/lib/ultralib/src/io/conteeplongwrite.o(.bss*); + build/us/lib/ultralib/src/io/conteeplongread.o(.bss*); + build/us/lib/ultralib/src/io/pimgr.o(.bss*); + build/us/lib/ultralib/src/io/epirawdma.o(.bss*); + build/us/lib/ultralib/src/io/epidma.o(.bss*); + build/us/lib/ultralib/src/io/cartrominit.o(.bss*); + build/us/lib/ultralib/src/io/devmgr.o(.bss*); + build/us/lib/ultralib/src/io/piacs.o(.bss*); + build/us/lib/ultralib/src/io/pidma.o(.bss*); + build/us/lib/ultralib/src/io/aigetlen.o(.bss*); + build/us/lib/ultralib/src/io/aigetstat.o(.bss*); + build/us/lib/ultralib/src/io/aisetfreq.o(.bss*); + build/us/lib/ultralib/src/io/aisetnextbuf.o(.bss*); + build/us/lib/ultralib/src/audio/env.o(.bss*); + build/us/lib/ultralib/src/audio/sl.o(.bss*); + build/us/lib/ultralib/src/audio/heapinit.o(.bss*); + build/us/lib/ultralib/src/audio/synthesizer.o(.bss*); + build/us/lib/ultralib/src/audio/syndelete.o(.bss*); + build/us/lib/ultralib/src/audio/synaddplayer.o(.bss*); + build/us/lib/ultralib/src/audio/synallocvoice.o(.bss*); + build/us/lib/ultralib/src/audio/synstopvoice.o(.bss*); + build/us/lib/ultralib/src/audio/synstartvoice.o(.bss*); + build/us/lib/ultralib/src/audio/synsetpitch.o(.bss*); + build/us/lib/ultralib/src/audio/synsetvol.o(.bss*); + build/us/lib/ultralib/src/audio/synsetfxmix.o(.bss*); + build/us/lib/ultralib/src/audio/synsetpan.o(.bss*); + build/us/lib/ultralib/src/audio/synallocfx.o(.bss*); + build/us/lib/ultralib/src/os/invaldcache.o(.bss*); + build/us/lib/ultralib/src/os/writebackdcacheall.o(.bss*); + build/us/lib/ultralib/src/io/contquery.o(.bss*); + build/us/lib/ultralib/src/io/contreaddata.o(.bss*); + build/us/lib/ultralib/src/io/controller.o(.bss*); + build/us/lib/ultralib/src/io/contsetch.o(.bss*); + build/us/lib/ultralib/src/os/virtualtophysical.o(.bss*); + build/us/lib/ultralib/src/gu/sqrtf.o(.bss*); + build/us/lib/ultralib/src/gu/cosf.o(.bss*); + build/us/lib/ultralib/src/gu/ortho.o(.bss*); + build/us/lib/ultralib/src/gu/perspective.o(.bss*); + build/us/lib/ultralib/src/gu/rotaterpy.o(.bss*); + build/us/lib/ultralib/src/gu/sinf.o(.bss*); + build/us/lib/ultralib/src/gu/sins.o(.bss*); + build/us/lib/ultralib/src/libc/bcmp.o(.bss*); + build/us/lib/ultralib/src/libc/bcopy.o(.bss*); + build/us/lib/ultralib/src/libc/bzero.o(.bss*); + build/us/lib/ultralib/src/libc/string.o(.bss*); + build/us/lib/ultralib/src/os/createmesgqueue.o(.bss*); + build/us/lib/ultralib/src/os/jammesg.o(.bss*); + build/us/lib/ultralib/src/os/recvmesg.o(.bss*); + build/us/lib/ultralib/src/os/sendmesg.o(.bss*); + build/us/lib/ultralib/src/os/seteventmesg.o(.bss*); + build/us/lib/ultralib/src/io/sptask.o(.bss*); + build/us/lib/ultralib/src/io/sptaskyield.o(.bss*); + build/us/lib/ultralib/src/io/sptaskyielded.o(.bss*); + build/us/lib/ultralib/src/sched/sched.o(.bss*); + build/us/lib/ultralib/src/io/sirawdma.o(.bss*); + build/us/lib/ultralib/src/io/siacs.o(.bss*); + build/us/lib/ultralib/src/os/createthread.o(.bss*); + build/us/lib/ultralib/src/os/getthreadpri.o(.bss*); + build/us/lib/ultralib/src/os/setthreadpri.o(.bss*); + build/us/lib/ultralib/src/os/startthread.o(.bss*); + build/us/lib/ultralib/src/os/stopthread.o(.bss*); + build/us/lib/ultralib/src/os/thread.o(.bss*); + build/us/lib/ultralib/src/os/yieldthread.o(.bss*); + build/us/lib/ultralib/src/os/gettime.o(.bss*); + build/us/lib/ultralib/src/os/settime.o(.bss*); + build/us/lib/ultralib/src/os/settimer.o(.bss*); + build/us/lib/ultralib/src/os/timerintr.o(.bss*); + build/us/lib/ultralib/src/os/probetlb.o(.bss*); + build/us/lib/ultralib/src/io/vigetcurrframebuf.o(.bss*); + build/us/lib/ultralib/src/io/vigetnextframebuf.o(.bss*); + build/us/lib/ultralib/src/io/vimgr.o(.bss*); + build/us/lib/ultralib/src/io/vitbl.o(.bss*); + build/us/lib/ultralib/src/io/visetevent.o(.bss*); + build/us/lib/ultralib/src/io/visetmode.o(.bss*); + build/us/lib/ultralib/src/io/visetspecial.o(.bss*); + build/us/lib/ultralib/src/io/visetyscale.o(.bss*); + build/us/lib/ultralib/src/io/viswapbuf.o(.bss*); + build/us/lib/ultralib/src/io/viswapcontext.o(.bss*); + build/us/lib/ultralib/src/io/viblack.o(.bss*); + build/us/lib/ultralib/src/mgu/mtxident.o(.bss*); + build/us/lib/ultralib/src/mgu/mtxidentf.o(.bss*); + build/us/lib/ultralib/src/mgu/mtxf2l.o(.bss*); + build/us/lib/ultralib/src/mgu/mtxl2f.o(.bss*); + build/us/lib/ultralib/src/mgu/mtxcatf.o(.bss*); + build/us/lib/ultralib/src/mgu/scale.o(.bss*); + build/us/lib/ultralib/src/mgu/scalef.o(.bss*); + build/us/lib/ultralib/src/mgu/translate.o(.bss*); + build/us/lib/ultralib/src/mgu/translatef.o(.bss*); + build/us/lib/ultralib/src/os/initialize.o(.bss*); + build/us/lib/ultralib/src/io/conteepread.o(.bss*); + build/us/lib/ultralib/src/io/conteepwrite.o(.bss*); + build/us/lib/ultralib/src/os/exceptasm.o(.bss*); + build/us/lib/ultralib/src/os/interrupt.o(.bss*); + build/us/lib/ultralib/src/os/setintmask.o(.bss*); + build/us/lib/ultralib/src/os/setglobalintmask.o(.bss*); + build/us/lib/ultralib/src/os/resetglobalintmask.o(.bss*); + build/us/lib/ultralib/src/io/pirawdma.o(.bss*); + build/us/lib/ultralib/src/io/pigetcmdq.o(.bss*); + build/us/lib/ultralib/src/io/epirawread.o(.bss*); + build/us/lib/ultralib/src/io/epirawwrite.o(.bss*); + build/us/lib/ultralib/src/io/ai.o(.bss*); + build/us/lib/ultralib/src/audio/drvrnew.o(.bss*); + build/us/lib/ultralib/src/audio/load.o(.bss*); + build/us/lib/ultralib/src/audio/auxbus.o(.bss*); + build/us/lib/ultralib/src/audio/filter.o(.bss*); + build/us/lib/ultralib/src/audio/mainbus.o(.bss*); + build/us/lib/ultralib/src/audio/resample.o(.bss*); + build/us/lib/ultralib/src/audio/reverb.o(.bss*); + build/us/lib/ultralib/src/audio/save.o(.bss*); + build/us/lib/ultralib/src/audio/heapalloc.o(.bss*); + build/us/lib/ultralib/src/audio/copy.o(.bss*); + build/us/lib/ultralib/src/os/invalicache.o(.bss*); + build/us/lib/ultralib/src/os/writebackdcache.o(.bss*); + build/us/lib/ultralib/src/io/dpsetnextbuf.o(.bss*); + build/us/lib/ultralib/src/os/getcause.o(.bss*); + build/us/lib/ultralib/src/os/getcount.o(.bss*); + build/us/lib/ultralib/src/os/getsr.o(.bss*); + build/us/lib/ultralib/src/os/setcompare.o(.bss*); + build/us/lib/ultralib/src/os/setfpccsr.o(.bss*); + build/us/lib/ultralib/src/os/setsr.o(.bss*); + build/us/lib/ultralib/src/os/setwatchlo.o(.bss*); + build/us/lib/ultralib/src/io/sp.o(.bss*); + build/us/lib/ultralib/src/io/spgetstat.o(.bss*); + build/us/lib/ultralib/src/io/spsetstat.o(.bss*); + build/us/lib/ultralib/src/io/spsetpc.o(.bss*); + build/us/lib/ultralib/src/io/sprawdma.o(.bss*); + build/us/lib/ultralib/src/io/sirawread.o(.bss*); + build/us/lib/ultralib/src/io/sirawwrite.o(.bss*); + build/us/lib/ultralib/src/os/destroythread.o(.bss*); + build/us/lib/ultralib/src/os/maptlbrdb.o(.bss*); + build/us/lib/ultralib/src/os/unmaptlball.o(.bss*); + build/us/lib/ultralib/src/io/vi.o(.bss*); + build/us/lib/ultralib/src/io/vigetcurrcontext.o(.bss*); + build/us/lib/ultralib/src/vimodes/vimodentsclan1.o(.bss*); + build/us/lib/ultralib/src/vimodes/vimodepallan1.o(.bss*); + build/us/lib/ultralib/src/vimodes/vimodempallan1.o(.bss*); + build/us/lib/ultralib/src/os/parameters.o(.bss*); + build/us/lib/ultralib/src/gu/libm_vals.o(.bss*); + build/us/lib/ultralib/src/io/dp.o(.bss*); + build/us/lib/ultralib/src/io/si.o(.bss*); + build/us/src/libkmc/fmod.o(.bss*); + build/us/src/libkmc/memmove.o(.bss*); + build/us/src/libkmc/memset.o(.bss*); + build/us/src/libkmc/modf.o(.bss*); + build/us/src/libkmc/rand.o(.bss*); + build/us/src/libkmc/strcpy.o(.bss*); + build/us/src/libkmc/mmuldi3.o(.bss*); + build/us/src/libkmc/ctype.o(.bss*); + build/us/asm/us/data/boot/8001B640.bss.o(.bss*); + . = ALIGN(., 0x10); + boot_BSS_END = .; + boot_BSS_SIZE = ABSOLUTE(boot_BSS_END - boot_BSS_START); + } + + COMMON (NOLOAD) : + { + FILL(0x00000000); + bootCOMMON_START = .; + build/us/src/boot/boot_main.o(COMMON*); + build/us/src/boot/dmadata.o(COMMON*); + build/us/src/gzip/inflate.o(COMMON*); + build/us/src/gzip/unzip.o(COMMON*); + build/us/src/boot/util.o(COMMON*); + build/us/src/boot/rom_offsets.o(COMMON*); + build/us/lib/ultralib/src/io/conteepprobe.o(COMMON*); + build/us/lib/ultralib/src/io/conteeplongwrite.o(COMMON*); + build/us/lib/ultralib/src/io/conteeplongread.o(COMMON*); + build/us/lib/ultralib/src/io/pimgr.o(COMMON*); + build/us/lib/ultralib/src/io/epirawdma.o(COMMON*); + build/us/lib/ultralib/src/io/epidma.o(COMMON*); + build/us/lib/ultralib/src/io/cartrominit.o(COMMON*); + build/us/lib/ultralib/src/io/devmgr.o(COMMON*); + build/us/lib/ultralib/src/io/piacs.o(COMMON*); + build/us/lib/ultralib/src/io/pidma.o(COMMON*); + build/us/lib/ultralib/src/io/aigetlen.o(COMMON*); + build/us/lib/ultralib/src/io/aigetstat.o(COMMON*); + build/us/lib/ultralib/src/io/aisetfreq.o(COMMON*); + build/us/lib/ultralib/src/io/aisetnextbuf.o(COMMON*); + build/us/lib/ultralib/src/audio/env.o(COMMON*); + build/us/lib/ultralib/src/audio/sl.o(COMMON*); + build/us/lib/ultralib/src/audio/heapinit.o(COMMON*); + build/us/lib/ultralib/src/audio/synthesizer.o(COMMON*); + build/us/lib/ultralib/src/audio/syndelete.o(COMMON*); + build/us/lib/ultralib/src/audio/synaddplayer.o(COMMON*); + build/us/lib/ultralib/src/audio/synallocvoice.o(COMMON*); + build/us/lib/ultralib/src/audio/synstopvoice.o(COMMON*); + build/us/lib/ultralib/src/audio/synstartvoice.o(COMMON*); + build/us/lib/ultralib/src/audio/synsetpitch.o(COMMON*); + build/us/lib/ultralib/src/audio/synsetvol.o(COMMON*); + build/us/lib/ultralib/src/audio/synsetfxmix.o(COMMON*); + build/us/lib/ultralib/src/audio/synsetpan.o(COMMON*); + build/us/lib/ultralib/src/audio/synallocfx.o(COMMON*); + build/us/lib/ultralib/src/os/invaldcache.o(COMMON*); + build/us/lib/ultralib/src/os/writebackdcacheall.o(COMMON*); + build/us/lib/ultralib/src/io/contquery.o(COMMON*); + build/us/lib/ultralib/src/io/contreaddata.o(COMMON*); + build/us/lib/ultralib/src/io/controller.o(COMMON*); + build/us/lib/ultralib/src/io/contsetch.o(COMMON*); + build/us/lib/ultralib/src/os/virtualtophysical.o(COMMON*); + build/us/lib/ultralib/src/gu/sqrtf.o(COMMON*); + build/us/lib/ultralib/src/gu/cosf.o(COMMON*); + build/us/lib/ultralib/src/gu/ortho.o(COMMON*); + build/us/lib/ultralib/src/gu/perspective.o(COMMON*); + build/us/lib/ultralib/src/gu/rotaterpy.o(COMMON*); + build/us/lib/ultralib/src/gu/sinf.o(COMMON*); + build/us/lib/ultralib/src/gu/sins.o(COMMON*); + build/us/lib/ultralib/src/libc/bcmp.o(COMMON*); + build/us/lib/ultralib/src/libc/bcopy.o(COMMON*); + build/us/lib/ultralib/src/libc/bzero.o(COMMON*); + build/us/lib/ultralib/src/libc/string.o(COMMON*); + build/us/lib/ultralib/src/os/createmesgqueue.o(COMMON*); + build/us/lib/ultralib/src/os/jammesg.o(COMMON*); + build/us/lib/ultralib/src/os/recvmesg.o(COMMON*); + build/us/lib/ultralib/src/os/sendmesg.o(COMMON*); + build/us/lib/ultralib/src/os/seteventmesg.o(COMMON*); + build/us/lib/ultralib/src/io/sptask.o(COMMON*); + build/us/lib/ultralib/src/io/sptaskyield.o(COMMON*); + build/us/lib/ultralib/src/io/sptaskyielded.o(COMMON*); + build/us/lib/ultralib/src/sched/sched.o(COMMON*); + build/us/lib/ultralib/src/io/sirawdma.o(COMMON*); + build/us/lib/ultralib/src/io/siacs.o(COMMON*); + build/us/lib/ultralib/src/os/createthread.o(COMMON*); + build/us/lib/ultralib/src/os/getthreadpri.o(COMMON*); + build/us/lib/ultralib/src/os/setthreadpri.o(COMMON*); + build/us/lib/ultralib/src/os/startthread.o(COMMON*); + build/us/lib/ultralib/src/os/stopthread.o(COMMON*); + build/us/lib/ultralib/src/os/thread.o(COMMON*); + build/us/lib/ultralib/src/os/yieldthread.o(COMMON*); + build/us/lib/ultralib/src/os/gettime.o(COMMON*); + build/us/lib/ultralib/src/os/settime.o(COMMON*); + build/us/lib/ultralib/src/os/settimer.o(COMMON*); + build/us/lib/ultralib/src/os/timerintr.o(COMMON*); + build/us/lib/ultralib/src/os/probetlb.o(COMMON*); + build/us/lib/ultralib/src/io/vigetcurrframebuf.o(COMMON*); + build/us/lib/ultralib/src/io/vigetnextframebuf.o(COMMON*); + build/us/lib/ultralib/src/io/vimgr.o(COMMON*); + build/us/lib/ultralib/src/io/vitbl.o(COMMON*); + build/us/lib/ultralib/src/io/visetevent.o(COMMON*); + build/us/lib/ultralib/src/io/visetmode.o(COMMON*); + build/us/lib/ultralib/src/io/visetspecial.o(COMMON*); + build/us/lib/ultralib/src/io/visetyscale.o(COMMON*); + build/us/lib/ultralib/src/io/viswapbuf.o(COMMON*); + build/us/lib/ultralib/src/io/viswapcontext.o(COMMON*); + build/us/lib/ultralib/src/io/viblack.o(COMMON*); + build/us/lib/ultralib/src/mgu/mtxident.o(COMMON*); + build/us/lib/ultralib/src/mgu/mtxidentf.o(COMMON*); + build/us/lib/ultralib/src/mgu/mtxf2l.o(COMMON*); + build/us/lib/ultralib/src/mgu/mtxl2f.o(COMMON*); + build/us/lib/ultralib/src/mgu/mtxcatf.o(COMMON*); + build/us/lib/ultralib/src/mgu/scale.o(COMMON*); + build/us/lib/ultralib/src/mgu/scalef.o(COMMON*); + build/us/lib/ultralib/src/mgu/translate.o(COMMON*); + build/us/lib/ultralib/src/mgu/translatef.o(COMMON*); + build/us/lib/ultralib/src/os/initialize.o(COMMON*); + build/us/lib/ultralib/src/io/conteepread.o(COMMON*); + build/us/lib/ultralib/src/io/conteepwrite.o(COMMON*); + build/us/lib/ultralib/src/os/exceptasm.o(COMMON*); + build/us/lib/ultralib/src/os/interrupt.o(COMMON*); + build/us/lib/ultralib/src/os/setintmask.o(COMMON*); + build/us/lib/ultralib/src/os/setglobalintmask.o(COMMON*); + build/us/lib/ultralib/src/os/resetglobalintmask.o(COMMON*); + build/us/lib/ultralib/src/io/pirawdma.o(COMMON*); + build/us/lib/ultralib/src/io/pigetcmdq.o(COMMON*); + build/us/lib/ultralib/src/io/epirawread.o(COMMON*); + build/us/lib/ultralib/src/io/epirawwrite.o(COMMON*); + build/us/lib/ultralib/src/io/ai.o(COMMON*); + build/us/lib/ultralib/src/audio/drvrnew.o(COMMON*); + build/us/lib/ultralib/src/audio/load.o(COMMON*); + build/us/lib/ultralib/src/audio/auxbus.o(COMMON*); + build/us/lib/ultralib/src/audio/filter.o(COMMON*); + build/us/lib/ultralib/src/audio/mainbus.o(COMMON*); + build/us/lib/ultralib/src/audio/resample.o(COMMON*); + build/us/lib/ultralib/src/audio/reverb.o(COMMON*); + build/us/lib/ultralib/src/audio/save.o(COMMON*); + build/us/lib/ultralib/src/audio/heapalloc.o(COMMON*); + build/us/lib/ultralib/src/audio/copy.o(COMMON*); + build/us/lib/ultralib/src/os/invalicache.o(COMMON*); + build/us/lib/ultralib/src/os/writebackdcache.o(COMMON*); + build/us/lib/ultralib/src/io/dpsetnextbuf.o(COMMON*); + build/us/lib/ultralib/src/os/getcause.o(COMMON*); + build/us/lib/ultralib/src/os/getcount.o(COMMON*); + build/us/lib/ultralib/src/os/getsr.o(COMMON*); + build/us/lib/ultralib/src/os/setcompare.o(COMMON*); + build/us/lib/ultralib/src/os/setfpccsr.o(COMMON*); + build/us/lib/ultralib/src/os/setsr.o(COMMON*); + build/us/lib/ultralib/src/os/setwatchlo.o(COMMON*); + build/us/lib/ultralib/src/io/sp.o(COMMON*); + build/us/lib/ultralib/src/io/spgetstat.o(COMMON*); + build/us/lib/ultralib/src/io/spsetstat.o(COMMON*); + build/us/lib/ultralib/src/io/spsetpc.o(COMMON*); + build/us/lib/ultralib/src/io/sprawdma.o(COMMON*); + build/us/lib/ultralib/src/io/sirawread.o(COMMON*); + build/us/lib/ultralib/src/io/sirawwrite.o(COMMON*); + build/us/lib/ultralib/src/os/destroythread.o(COMMON*); + build/us/lib/ultralib/src/os/maptlbrdb.o(COMMON*); + build/us/lib/ultralib/src/os/unmaptlball.o(COMMON*); + build/us/lib/ultralib/src/io/vi.o(COMMON*); + build/us/lib/ultralib/src/io/vigetcurrcontext.o(COMMON*); + build/us/lib/ultralib/src/vimodes/vimodentsclan1.o(COMMON*); + build/us/lib/ultralib/src/vimodes/vimodepallan1.o(COMMON*); + build/us/lib/ultralib/src/vimodes/vimodempallan1.o(COMMON*); + build/us/lib/ultralib/src/os/parameters.o(COMMON*); + build/us/lib/ultralib/src/gu/libm_vals.o(COMMON*); + build/us/lib/ultralib/src/io/dp.o(COMMON*); + build/us/lib/ultralib/src/io/si.o(COMMON*); + build/us/src/libkmc/fmod.o(COMMON*); + build/us/src/libkmc/memmove.o(COMMON*); + build/us/src/libkmc/memset.o(COMMON*); + build/us/src/libkmc/modf.o(COMMON*); + build/us/src/libkmc/rand.o(COMMON*); + build/us/src/libkmc/strcpy.o(COMMON*); + build/us/src/libkmc/mmuldi3.o(COMMON*); + build/us/src/libkmc/ctype.o(COMMON*); + build/us/asm/us/data/boot/8001B640.bss.o(COMMON*); + . = ALIGN(., 0x10); + bootCOMMON_END = .; + bootCOMMON_SIZE = ABSOLUTE(bootCOMMON_END - bootCOMMON_START); + } + + .pdr 0 : + { + *(.pdr); + } + .mdebug 0 : + { + *(.mdebug); + } + .mdebug.abi32 0 : + { + *(.mdebug.abi32); + } + .debug 0 : + { + *(.debug); + } + .line 0 : + { + *(.line); + } + .debug_srcinfo 0 : + { + *(.debug_srcinfo); + } + .debug_sfnames 0 : + { + *(.debug_sfnames); + } + .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_line_end 0 : + { + *(.debug_line_end); + } + .debug_frame 0 : + { + *(.debug_frame); + } + .debug_str 0 : + { + *(.debug_str); + } + .debug_loc 0 : + { + *(.debug_loc); + } + .debug_macinfo 0 : + { + *(.debug_macinfo); + } + .debug_weaknames 0 : + { + *(.debug_weaknames); + } + .debug_funcnames 0 : + { + *(.debug_funcnames); + } + .debug_typenames 0 : + { + *(.debug_typenames); + } + .debug_varnames 0 : + { + *(.debug_varnames); + } + .debug_pubtypes 0 : + { + *(.debug_pubtypes); + } + .debug_ranges 0 : + { + *(.debug_ranges); + } + .debug_addr 0 : + { + *(.debug_addr); + } + .debug_line_str 0 : + { + *(.debug_line_str); + } + .debug_loclists 0 : + { + *(.debug_loclists); + } + .debug_macro 0 : + { + *(.debug_macro); + } + .debug_names 0 : + { + *(.debug_names); + } + .debug_rnglists 0 : + { + *(.debug_rnglists); + } + .debug_str_offsets 0 : + { + *(.debug_str_offsets); + } + .debug_sup 0 : + { + *(.debug_sup); + } + .gnu.attributes 0 : + { + *(.gnu.attributes); + } + .note 0 : + { + *(.note); + } + .comment 0 : + { + *(.comment); + } + + .shstrtab 0 : + { + *(.shstrtab); + } + + /DISCARD/ : + { + *(.reginfo); + *(.MIPS.abiflags); + *(.MIPS.options); + *(.note.gnu.build-id); + *(.interp); + *(.eh_frame); + *(*); + } +}