#include "parisc/hppa_hardware.h" #if BITS == 64 OUTPUT_FORMAT("elf64-hppa-linux") OUTPUT_ARCH(hppa:hppa2.0w) #else OUTPUT_FORMAT("elf32-hppa-linux") OUTPUT_ARCH(hppa) #endif ENTRY(startup) SECTIONS { #if BITS == 64 /* limit firmware high bits to physical addresses to allow debug info */ . = ((FIRMWARE_HIGH & 0x3ffffff0) << 32) + FIRMWARE_START; #else . = FIRMWARE_START; #endif /* align on next page boundary */ . = ALIGN(4096); .text : { _text = .; /* Text */ *(.head.text) *(.text) *(.text.*) _etext = . ; } . = ALIGN(4096); .sti : { _sti_rom_start = .; *(.sti.hdr) *(.sti.text.init_graph) *(.sti.text.state_mgmt) *(.sti.text.font_unpmv) *(.sti.text.block_move) *(.sti.text.self_test) *(.sti.text.excep_hdlr) *(.sti.text.inq_conf) *(.sti.text.set_cm_entry) *(.sti.text.dma_ctrl) *(.sti.text) *(.sti.data) *(.sti.font) *(.sti.text.end) . = ALIGN(4096); _sti_rom_end = .; } #if BITS == 64 . = ALIGN(16); .opd : { __start_opd = .; *(.opd) __end_opd = .; } PROVIDE (__gp = .); .plt : { *(.plt) } .dlt : { *(.dlt) } #endif . = ALIGN(8); .rodata : { _rodata = . ; *(.rodata) /* read-only data */ *(.rodata.*) _erodata = . ; } . = ALIGN(8); .data : { _data = . ; *(.data) *(.data.*) _edata = . ; } . = ALIGN(8); .bss : { _bss = . ; *(.bss) *(.bss.*) *(COMMON) _ebss = .; } /* STABS_DEBUG */ .note 0 : { *(.note) } /* Sections to be discarded */ /DISCARD/ : { } }