Skip to content

Instantly share code, notes, and snippets.

@csammis
Created January 20, 2016 15:40
Show Gist options
  • Save csammis/c7ede1530f46ce6dbb8b to your computer and use it in GitHub Desktop.
Save csammis/c7ede1530f46ce6dbb8b to your computer and use it in GitHub Desktop.
Linker map generated by MSPGCC
/usr/local/msp430-uniarch-20110716/bin/msp430-gcc main.o -mmcu=msp430g2231 -Wl,-M -L /usr/local/msp430-uniarch-20110716/include -o main.elf
Archive member included because of file (symbol)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_divmodsi4.o)
main.o (__divmodsi4)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_udivmodsi4.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_divmodsi4.o) (__udivmodsi4)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/crt0ivtbl16.o (_reset_vector__)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__init_stack.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o) (__init_stack)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__low_level_init.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o) (__low_level_init)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_copy_data.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o) (__do_copy_data)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_clear_bss.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o) (__do_clear_bss)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__stop_progExec__.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o) (__stop_progExec__)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_endless_loop__.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o) (_endless_loop__)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_unexpected_.o)
/usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/crt0ivtbl16.o (_unexpected_)
Allocating common symbols
Common symbol size file
curr_note 0x1 main.o
sound_playing 0x1 main.o
curr_duration 0x2 main.o
time_to_switch 0x1 main.o
Memory Configuration
Name Origin Length Attributes
sfr 0x0000000000000000 0x0000000000000010
peripheral_8bit 0x0000000000000010 0x00000000000000f0
peripheral_16bit 0x0000000000000100 0x0000000000000100
ram 0x0000000000000200 0x0000000000000080 xw
infomem 0x0000000000001000 0x0000000000000100
infod 0x0000000000001000 0x0000000000000040
infoc 0x0000000000001040 0x0000000000000040
infob 0x0000000000001080 0x0000000000000040
infoa 0x00000000000010c0 0x0000000000000040
rom 0x000000000000f800 0x00000000000007e0 xr
vectors 0x000000000000ffe0 0x0000000000000020
bsl 0x0000000000000000 0x0000000000000000
far_rom 0x0000000000000000 0x0000000000000000
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
LOAD /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/crt0ivtbl16.o
LOAD main.o
LOAD /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a
LOAD /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/../../../../msp430/lib/libc.a
LOAD /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a
LOAD /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a
0x0000000000000000 __IE1 = 0x0
0x0000000000000002 __IFG1 = 0x2
0x0000000000000048 __ADC10DTC0 = 0x48
0x0000000000000049 __ADC10DTC1 = 0x49
0x000000000000004a __ADC10AE0 = 0x4a
0x00000000000001b0 __ADC10CTL0 = 0x1b0
0x00000000000001b2 __ADC10CTL1 = 0x1b2
0x00000000000001b4 __ADC10MEM = 0x1b4
0x00000000000001bc __ADC10SA = 0x1bc
0x0000000000000056 __DCOCTL = 0x56
0x0000000000000057 __BCSCTL1 = 0x57
0x0000000000000058 __BCSCTL2 = 0x58
0x0000000000000053 __BCSCTL3 = 0x53
0x0000000000000128 __FCTL1 = 0x128
0x000000000000012a __FCTL2 = 0x12a
0x000000000000012c __FCTL3 = 0x12c
0x0000000000000020 __P1IN = 0x20
0x0000000000000021 __P1OUT = 0x21
0x0000000000000022 __P1DIR = 0x22
0x0000000000000023 __P1IFG = 0x23
0x0000000000000024 __P1IES = 0x24
0x0000000000000025 __P1IE = 0x25
0x0000000000000026 __P1SEL = 0x26
0x0000000000000027 __P1REN = 0x27
0x0000000000000028 __P2IN = 0x28
0x0000000000000029 __P2OUT = 0x29
0x000000000000002a __P2DIR = 0x2a
0x000000000000002b __P2IFG = 0x2b
0x000000000000002c __P2IES = 0x2c
0x000000000000002d __P2IE = 0x2d
0x000000000000002e __P2SEL = 0x2e
0x000000000000002f __P2REN = 0x2f
0x000000000000012e __TAIV = 0x12e
0x0000000000000160 __TACTL = 0x160
0x0000000000000162 __TACCTL0 = 0x162
0x0000000000000164 __TACCTL1 = 0x164
0x0000000000000170 __TAR = 0x170
0x0000000000000172 __TACCR0 = 0x172
0x0000000000000174 __TACCR1 = 0x174
0x0000000000000078 __USICTL0 = 0x78
0x0000000000000079 __USICTL1 = 0x79
0x000000000000007a __USICKCTL = 0x7a
0x000000000000007b __USICNT = 0x7b
0x000000000000007c __USISRL = 0x7c
0x000000000000007d __USISRH = 0x7d
0x0000000000000078 __USICTL = 0x78
0x000000000000007a __USICCTL = 0x7a
0x000000000000007c __USISR = 0x7c
0x0000000000000120 __WDTCTL = 0x120
0x00000000000010fe __CALDCO_1MHZ = 0x10fe
0x00000000000010ff __CALBC1_1MHZ = 0x10ff
.hash
*(.hash)
.dynsym
*(.dynsym)
.dynstr
*(.dynstr)
.gnu.version
*(.gnu.version)
.gnu.version_d
*(.gnu.version_d)
.gnu.version_r
*(.gnu.version_r)
.rel.init
*(.rel.init)
.rela.init
*(.rela.init)
.rel.text
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
.rela.text
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
.rel.fini
*(.rel.fini)
.rela.fini
*(.rela.fini)
.rel.rodata
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
.rela.rodata
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
.rel.data
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
.rela.data
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
.rel.ctors
*(.rel.ctors)
.rela.ctors
*(.rela.ctors)
.rel.dtors
*(.rel.dtors)
.rela.dtors
*(.rela.dtors)
.rel.got
*(.rel.got)
.rela.got
*(.rela.got)
.rel.bss
*(.rel.bss)
.rela.bss
*(.rela.bss)
.rel.plt
*(.rel.plt)
.rela.plt
*(.rela.plt)
.text 0x000000000000f800 0x212
0x000000000000f800 . = ALIGN (0x2)
*(.init)
*(.init0)
.init0 0x000000000000f800 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o)
0x000000000000f800 _reset_vector__
*(.init1)
*(.init2)
.init2 0x000000000000f800 0x4 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__init_stack.o)
0x000000000000f800 __init_stack
*(.init3)
.init3 0x000000000000f804 0xa /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__low_level_init.o)
0x000000000000f804 __low_level_init
*(.init4)
.init4 0x000000000000f80e 0x16 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_copy_data.o)
0x000000000000f80e __do_copy_data
.init4 0x000000000000f824 0x14 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_clear_bss.o)
0x000000000000f824 __do_clear_bss
*(.init5)
*(.init6)
*(.init7)
*(.init8)
*(.init9)
.init9 0x000000000000f838 0x46 main.o
0x000000000000f838 main
*(.fini9)
.fini9 0x000000000000f87e 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__stop_progExec__.o)
0x000000000000f87e __stop_progExec__
*(.fini8)
*(.fini7)
*(.fini6)
*(.fini5)
*(.fini4)
*(.fini3)
*(.fini2)
*(.fini1)
*(.fini0)
.fini0 0x000000000000f87e 0x6 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_endless_loop__.o)
0x000000000000f87e _endless_loop__
*(.fini)
0x000000000000f884 . = ALIGN (0x2)
0x000000000000f884 __ctors_start = .
*(.ctors)
0x000000000000f884 __ctors_end = .
0x000000000000f884 __dtors_start = .
*(.dtors)
0x000000000000f884 __dtors_end = .
0x000000000000f884 . = ALIGN (0x2)
*(.text)
.text 0x000000000000f884 0x4 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/crt0ivtbl16.o
0x000000000000f884 __isr_1
0x000000000000f884 __isr_4
0x000000000000f884 __isr_11
0x000000000000f884 __isr_5
0x000000000000f884 __isr_7
0x000000000000f884 __isr_0
0x000000000000f884 __isr_8
0x000000000000f884 __isr_3
0x000000000000f884 __isr_12
0x000000000000f884 __isr_13
0x000000000000f884 __isr_9
0x000000000000f884 __isr_6
0x000000000000f884 __isr_14
.text 0x000000000000f888 0x114 main.o
0x000000000000f888 hard_delay
0x000000000000f892 play
0x000000000000f8b0 __isr_10
0x000000000000f8b0 wdt_isr
0x000000000000f958 debounce_switch
0x000000000000f974 __isr_2
0x000000000000f974 p1_isr
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_divmodsi4.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_udivmodsi4.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__init_stack.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__low_level_init.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_copy_data.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_clear_bss.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__stop_progExec__.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_endless_loop__.o)
.text 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_unexpected_.o)
0x000000000000f99c . = ALIGN (0x2)
*(.text.*)
.text.crt0 0x000000000000f99c 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/crt0ivtbl16.o
.text.libgcc 0x000000000000f99c 0x4a /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_divmodsi4.o)
0x000000000000f99c __divmodsi4
.text.libgcc 0x000000000000f9e6 0x2a /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_udivmodsi4.o)
0x000000000000f9e6 __udivmodsi4
.text.crt0 0x000000000000fa10 0x2 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_unexpected_.o)
0x000000000000fa10 _unexpected_
0x000000000000fa12 _etext = .
.data 0x0000000000000200 0x36 load address 0x000000000000fa12
0x0000000000000200 . = ALIGN (0x2)
0x0000000000000200 PROVIDE (__data_start, .)
*(.data)
.data 0x0000000000000200 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/crt0ivtbl16.o
.data 0x0000000000000200 0x36 main.o
0x0000000000000200 frequencies
0x000000000000021a notes
0x0000000000000228 duration
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_divmodsi4.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_udivmodsi4.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__init_stack.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__low_level_init.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_copy_data.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_clear_bss.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__stop_progExec__.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_endless_loop__.o)
.data 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_unexpected_.o)
*(SORT(.data.*))
0x0000000000000236 . = ALIGN (0x2)
*(.gnu.linkonce.d*)
0x0000000000000236 . = ALIGN (0x2)
0x0000000000000236 _edata = .
0x000000000000fa12 PROVIDE (__data_load_start, LOADADDR (.data))
0x0000000000000036 PROVIDE (__data_size, SIZEOF (.data))
.bss 0x0000000000000236 0x5 load address 0x000000000000fa48
0x0000000000000236 PROVIDE (__bss_start, .)
*(.bss)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/crt0ivtbl16.o
.bss 0x0000000000000236 0x0 main.o
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_divmodsi4.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libgcc.a(_udivmodsi4.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_reset_vector__.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__init_stack.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__low_level_init.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_copy_data.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_clear_bss.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(__stop_progExec__.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_endless_loop__.o)
.bss 0x0000000000000236 0x0 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/libcrt0.a(_unexpected_.o)
*(SORT(.bss.*))
*(COMMON)
COMMON 0x0000000000000236 0x5 main.o
0x0000000000000236 curr_note
0x0000000000000237 sound_playing
0x0000000000000238 curr_duration
0x000000000000023a time_to_switch
0x000000000000023b PROVIDE (__bss_end, .)
0x000000000000023b _end = .
0x0000000000000005 PROVIDE (__bss_size, SIZEOF (.bss))
.noinit 0x000000000000023b 0x0 load address 0x000000000000fa48
0x000000000000023b PROVIDE (__noinit_start, .)
*(.noinit)
*(.noinit.*)
*(COMMON)
0x000000000000023b PROVIDE (__noinit_end, .)
0x000000000000023b _end = .
.infomem 0x0000000000001000 0x0
*(.infomem)
0x0000000000001000 . = ALIGN (0x2)
*(.infomem.*)
.vectors 0x000000000000ffe0 0x20
0x000000000000ffe0 PROVIDE (__vectors_start, .)
*(.vectors*)
.vectors 0x000000000000ffe0 0x20 /usr/local/msp430-uniarch-20110716/lib/gcc/msp430/4.5.3/crt0ivtbl16.o
0x000000000000ffe0 __ivtbl_16
0x0000000000010000 _vectors_end = .
.fartext 0x0000000000000000 0x0
0x0000000000000000 . = ALIGN (0x2)
*(.fartext)
0x0000000000000000 . = ALIGN (0x2)
*(.fartext.*)
0x0000000000000000 _efartext = .
.profiler
*(.profiler)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment
*(.comment)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x0000000000000000 0x18
*(.debug_aranges)
.debug_aranges
0x0000000000000000 0x18 main.o
.debug_pubnames
0x0000000000000000 0xca
*(.debug_pubnames)
.debug_pubnames
0x0000000000000000 0xca main.o
.debug_info 0x0000000000000000 0x43a
*(.debug_info)
.debug_info 0x0000000000000000 0x43a main.o
*(.gnu.linkonce.wi.*)
.debug_abbrev 0x0000000000000000 0x112
*(.debug_abbrev)
.debug_abbrev 0x0000000000000000 0x112 main.o
.debug_line 0x0000000000000000 0x202
*(.debug_line)
.debug_line 0x0000000000000000 0x202 main.o
.debug_frame 0x0000000000000000 0x96
*(.debug_frame)
.debug_frame 0x0000000000000000 0x96 main.o
.debug_str 0x0000000000000000 0x1a5
*(.debug_str)
.debug_str 0x0000000000000000 0x1a5 main.o
0x23a (size before relaxing)
.debug_loc 0x0000000000000000 0x8f
*(.debug_loc)
.debug_loc 0x0000000000000000 0x8f main.o
.debug_macinfo
*(.debug_macinfo)
.debug_pubtypes
0x0000000000000000 0x12
*(.debug_pubtypes)
.debug_pubtypes
0x0000000000000000 0x12 main.o
.debug_ranges 0x0000000000000000 0xc
*(.debug_ranges)
.debug_ranges 0x0000000000000000 0xc main.o
0x0000000000000280 PROVIDE (__stack, (ORIGIN (ram) + 0x80))
0x000000000000fa12 PROVIDE (__data_start_rom, _etext)
0x000000000000fa48 PROVIDE (__data_end_rom, (_etext + SIZEOF (.data)))
OUTPUT(main.elf elf32-msp430)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment