Are there any practical limits to the complexity and size of linker config files? I have a huge config file and some really strange things are starting to happen such as methods being left out of binaries. Here's the current config: SYMBOLS { __STACKSIZE__: type = weak, value = $0800; # 2k stack __DISPATCHERSIZE__: type = weak, value = $2800; # 12k __OVERLAYSIZE__: type = weak, value = $2000; # 8k __BUFFERSSIZE__: type = weak, value - $0D00; __TAPESIZE__: type = weak, value = $00BF; __DPLOADADDR__: type = import; __CDLOADADDR__: type = import; } MEMORY { ZP: start = $0002, size = $001A; CPUSTACK: start = $0100, size = $0100; RAM: file = "", define = yes, start = $0800, size = $2300, fill = no; BUFFER: file = "", define = yes, start = $2B00, size = __BUFFERSSIZE__, fill = no; ROM1: file = "easycli.bin", define = yes, start = $8000, size = $2000, fill = yes, fillval= $ff; ROM2: file = "easycli.bin", define = yes, start = $A000, size = $1000, fill = yes, fillval= $ff; ROM3: file = "easycli.bin", define = yes, start = $B000, size = $0700, fill = yes, fillval= $ff; ROM4: file = "easycli.bin", define = yes, start = $B700, size = $0100, fill = yes, fillval= $ff; EAPI: file = "easycli.bin", define = yes, start = $B800, size = $0780, fill = yes, fillval= $ff; ULTIMAX: file = "easycli.bin", define = yes, start = $FF80, size = $007A, fill = yes, fillval= $ff; VECTORS: file = "easycli.bin", define = yes, start = $FFFA, size = $0006, fill = yes, fillval= $ff; EAPIRAM: file = "", define = yes, start = $C000, size = $0300, fill = yes; RAM2: file = "", define = yes, start = $C300, size = $0C00, fill = yes; RAM3: file = "", define = yes, start = $CF00, size = $0100, fill = yes; TAPE: file = "", define = yes, start = $033C, size = $00BF, fill = yes; TAPE2: file = "", define = yes, start = $033C, size = $00BF, fill = yes; CMDLET: file = "cmd.test", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = __OVERLAYSIZE__, fill = no; DPLA: file = "ovl.dispatcher",define = yes, start = $8000 - __DISPATCHERSIZE__, size = $0002, fill = no; DP: file = "ovl.dispatcher",define = yes, start = $8000 - __DISPATCHERSIZE__, size = __DISPATCHERSIZE__, fill = no; CDLA: file = "cmd.cd", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; CD: file = "cmd.cd", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = __OVERLAYSIZE__ - 3, fill = no; DIRLA: file = "cmd.dir", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; DIR: file = "cmd.dir", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = __OVERLAYSIZE__ - 3, fill = no; MKDIRLA: file = "cmd.mkdir", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; MKDIR: file = "cmd.mkdir", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = __OVERLAYSIZE__ - 3, fill = no; DELLA: file = "cmd.del", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; DEL: file = "cmd.del", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = __OVERLAYSIZE__ - 3, fill = no; RMDIRLA: file = "cmd.rmdir", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; RMDIR: file = "cmd.rmdir", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = __OVERLAYSIZE__ - 3, fill = no; RENLA: file = "cmd.ren", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; REN: file = "cmd.ren", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = __OVERLAYSIZE__ - 3, fill = no; COPYLA: file = "cmd.copymove", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; COPY: file = "cmd.copymove", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = __OVERLAYSIZE__ - 3, fill = no; HELPLA: file = "cmd.help", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; HELP: file = "cmd.help", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = $4000 - ($8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__) - 3, fill = no; EXECLA: file = "cmd.exec", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__, size = $0005, fill = no; EXEC: file = "cmd.exec", define = yes, start = $8000 - __DISPATCHERSIZE__ - __OVERLAYSIZE__ + 3, size = __OVERLAYSIZE__ - __TAPESIZE__ - 3, fill = yes, fillval = $ff; EXECLO: file = "cmd.exec", define = yes, start = $8000 - __DISPATCHERSIZE__ - __TAPESIZE__, size = __TAPESIZE__, fill = no; HELPCD: file = "help.cd", define = yes, start = $4000, size = $1800, fill = no; HELPDIR: file = "help.dir", define = yes, start = $4000, size = $1800, fill = no; HELPMKDIR: file = "help.mkdir", define = yes, start = $4000, size = $1800, fill = no; HELPRMDIR: file = "help.rmdir", define = yes, start = $4000, size = $1800, fill = no; HELPDEL: file = "help.del", define = yes, start = $4000, size = $1800, fill = no; HELPREN: file = "help.ren", define = yes, start = $4000, size = $1800, fill = no; HELPPATH: file = "help.path", define = yes, start = $4000, size = $1800, fill = no; HELPCOPY: file = "help.copy", define = yes, start = $4000, size = $1800, fill = no; HELPMOVE: file = "help.move", define = yes, start = $4000, size = $1800, fill = no; HELPHELP: file = "help.help", define = yes, start = $4000, size = $1800, fill = no; } SEGMENTS { ULTIMAX: load = ULTIMAX, type = ro; VECTORS: load = VECTORS, type = ro; EAPI: load = EAPI, type = ro, define = yes; STARTUP: load = ROM1, type = ro; LOWCODE: load = ROM1, type = ro, optional = yes; INIT: load = ROM1, type = ro, define = yes, optional = yes; CODE: load = ROM1, type = ro, define = yes; LOADER: load = ROM3, run = RAM2, type = ro, define = yes; RUNNER: load = ROM3, run = TAPE, type = ro, define = yes; COPYFILE: load = ROM4, run = RAM3, type = ro, define = yes; DATA: load = ROM1, run = RAM, type = rw, define = yes; BUFFERS: load = BUFFER, type = bss, define = yes; RODATA: load = ROM1, type = ro, define = yes; BSS: load = RAM, type = bss, define = yes; HEAP: load = RAM, type = bss, optional = yes; ZEROPAGE: load = ZP, type = zp, define = yes; DPLA: load = DPLA, type = ro, define = yes; DPCODE: load = DP, type = ro, define = yes; CMDLET: load = CMDLET, type = ro, define = yes; CDLA: load = CDLA, type = ro, define = yes; CDCODE: load = CD, type = ro, define = yes; DIRECTORYLA: load = DIRLA, type = ro, define = yes; DIRECTORYCODE: load = DIR, type = ro, define = yes; MKDIRLA: load = MKDIRLA, type = ro, define = yes; MKDIRCODE: load = MKDIR, type = ro, define = yes; DELLA: load = DELLA, type = ro, define = yes; DELCODE: load = DEL, type = ro, define = yes; RMDIRLA: load = RMDIRLA, type = ro, define = yes; RMDIRCODE: load = RMDIR, type = ro, define = yes; RENLA: load = RENLA, type = ro, define = yes; RENCODE: load = REN, type = ro, define = yes; COPYLA: load = COPYLA, type = ro, define = yes; COPYCODE: load = COPY, type = ro, define = yes; HELPLA: load = HELPLA, type = ro, define = yes; HELPCODE: load = HELP, type = ro, define = yes; EXECLA: load = EXECLA, type = ro, define = yes; EXECCODE: load = EXEC, type = ro, define = yes; EXECLOCODE: load = EXECLO, run = TAPE2, type = ro, define = yes; HELPCD: load = HELPCD, type = ro, define = yes; HELPDIR: load = HELPDIR, type = ro, define = yes; HELPMKDIR: load = HELPMKDIR, type = ro, define = yes; HELPRMDIR: load = HELPRMDIR, type = ro, define = yes; HELPDEL: load = HELPDEL, type = ro, define = yes; HELPREN: load = HELPREN, type = ro, define = yes; HELPPATH: load = HELPPATH, type = ro, define = yes; HELPCOPY: load = HELPCOPY, type = ro, define = yes; HELPMOVE: load = HELPMOVE, type = ro, define = yes; HELPHELP: load = HELPHELP, type = ro, define = yes; } FEATURES { CONDES: segment = INIT, type = constructor, label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__; CONDES: segment = RODATA, type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__; CONDES: segment = RODATA, type = interruptor, label = __INTERRUPTOR_TABLE__, count = __INTERRUPTOR_COUNT__; } -- Payton Byrd <http://www.paytonbyrd.com> <http://it.toolbox.com/blogs/paytonbyrd> ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo@musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.Received on Tue Jun 12 06:36:14 2012
This archive was generated by hypermail 2.1.8 : 2012-06-12 06:36:19 CEST