Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

.ld for 2148

.ld for 2148

2005-12-29 by paloalgodon

I admit I'm a little disappointed about getting no replies on this 
one.  Looking over the exisiting .ld files I have, it would appear to 
be less than an hour's work (?).  I just figure, why re-invent the 
wheel, when there's probably a bunch of *tested* copies running around 
(especially when I'm a newbie).  I was actually suprized that there 
wasn't already a complete set of .ld files for all the lpc parts in the 
files section of our group.  I understand that .ld files are typically 
customized a bit, just like makefiles, but a straightforward one that 
runs from rom and calls global ctors would be fine for most beginners, 
I would think.  I will certainly post if/when I get one 
working...course that could be counterproductive if we're trying to 
keep all the folks used to having the hard stuff done for them (WinAVR) 
off of our list <wink><wink>

Steve

Re: .ld for 2148

2005-12-29 by rtstofer

--- In lpc2000@yahoogroups.com, "paloalgodon" <stevef@t...> wrote:
>
> I admit I'm a little disappointed about getting no replies on this 
> one.  Looking over the exisiting .ld files I have, it would appear 
to 
> be less than an hour's work (?).  I just figure, why re-invent the 
> wheel, when there's probably a bunch of *tested* copies running 
around 
> (especially when I'm a newbie).  I was actually suprized that 
there 
> wasn't already a complete set of .ld files for all the lpc parts 
in the 
> files section of our group.  I understand that .ld files are 
typically 
> customized a bit, just like makefiles, but a straightforward one 
that 
> runs from rom and calls global ctors would be fine for most 
beginners, 
> I would think.  I will certainly post if/when I get one 
> working...course that could be counterproductive if we're trying 
to 
> keep all the folks used to having the hard stuff done for them 
(WinAVR) 
> off of our list <wink><wink>
> 
> Steve
>

I don't think anyone is hiding the file, it's just that other tools 
than GNU use a different approach.  Perhaps the .ld just isn't 
around right now.

So, grab James Lynch's tutorial from 
http://www.olimex.com/dev/pdf/ARM%20Cross%20Development%20with%
20Eclipse%20version%203.pdf and note that there is a process for 
converting LPC2106 linker script (name *.cmd in the tutorial) to the 
LPC2148.

Basically, you are just defining the size of flash and ram, 
specifying an address for each and then assigning .text, .data 
and .bss to the appropriate memory type.  There are a couple of 
other symbols like _end, _bss_end and end (not defined in the 
tutorial but required for sbrk and malloc).

The end of my 2106 file looks like
...
/* RTS - changed alignment for malloc() - was ALIGN(4) */

	. = ALIGN(8);						/* 
advance location counter to the next 32-bit boundary */
	_bss_end = . ;						/* 
define a global symbol marking the end of the .bss section */
}
	_end = .;						
	/* define a global symbol marking the end of application RAM 
*/
PROVIDE (end = .);						/* 
for sbrk	*/

That's about it.

Richard

Re: [lpc2000] .ld for 2148

2005-12-29 by Marko Panger

Hi !

I am attaching two .ld files I am using. I don't remember where do I 
grab them (it was on www.gnuarm or somewhere else on this forum) 
exactly. I adopted them to suit my needs on the LPC2138. Modifying them 
for 2148 should be straight forward.

The ROM_fiq.ld file has a special ".fiqisr" section which is placed 
directly on the exception vector (no extra jump needed) for optimum 
performance when executing an FIQ from flash. If you define your 
"fiqisr" section it will be placed right there.

Hope it helps !

marko,

uSmartX RTOS - mixing preemptive and non-preemptive worlds !
http://usmartx.sourceforge.net/


paloalgodon wrote:

>I admit I'm a little disappointed about getting no replies on this 
>one.  Looking over the exisiting .ld files I have, it would appear to 
>be less than an hour's work (?).  I just figure, why re-invent the 
>wheel, when there's probably a bunch of *tested* copies running around 
>(especially when I'm a newbie).  I was actually suprized that there 
>wasn't already a complete set of .ld files for all the lpc parts in the 
>files section of our group.  I understand that .ld files are typically 
>customized a bit, just like makefiles, but a straightforward one that 
>runs from rom and calls global ctors would be fine for most beginners, 
>I would think.  I will certainly post if/when I get one 
>working...course that could be counterproductive if we're trying to 
>keep all the folks used to having the hard stuff done for them (WinAVR) 
>off of our list <wink><wink>
>
>Steve
>
>
>
>
>
>
>
> 
>Yahoo! Groups Links
>
>
>
> 
>
>
>
>  
>


  ----------

/***********************************************************************/
/*                                                                     */
/*  RAM.ld:  Linker Script File                                        */
/*                                                                     */
/***********************************************************************/
ENTRY(_start)
STACK_SIZE = 0x400;

RAM_LIMIT = 0x40008000;


/* Memory Definitions */
MEMORY
{
	FLASH (rx) : ORIGIN = 0x0, LENGTH = 0x80000			/* 512Kb of internal FLASH */
	SRAM (rwx) : ORIGIN = 0x40000000, LENGTH = 0x8000	/* 32Kb of internal SRAM */
}

/* Section Definitions */
SECTIONS
{
  	/* first section is .text which is used for code */
  	.text :
  	{    		
		*crt0.o (.text)
    	*(EXCLUDE_FILE(*crt0.o).text)         /* remaining code */
    	*(.rodata)               			  /* read-only data (constants) */
    	*(.rodata*)
    	*(.glue_7)
    	*(.glue_7t)
  	} > FLASH

	. = ALIGN(4);	
	_etext = . ;

  /* .data section which is used for initialized data */
  .data  : AT (_etext)
  {
    _data = .;
    *(.data)
    . = ALIGN(4);
    _edata = .;
  } > SRAM

  /* .bss section which is used for uninitialized data */
  .bss (NOLOAD) :
  {
    _bss = . ;
    *(.bss)
    *(COMMON)
    . = ALIGN(4);
    _ebss = .;
  } > SRAM
    
/*  .heap ALIGN(4) :*/
/*  { */
/*  	_heap_begin = .;*/
/*  	*(.data_heap)*/
/*  } > SRAM**/
           
  /*. += 0x4000;*/
/*  _heap_end = .;*/
   
  . = RAM_LIMIT - 8 - 4 - 4 - 4 - 1024 - 1024; 
  .stack ALIGN(4) :
  {
  	_stack = .;
  	. += 4;
  	_undefined_stack = .;
  	
  	. += 4;
  	_abort_stack = .;
  	
  	. += 4;
	_fiq_stack = .;
	
	. += 4;
	_svc_stack = .;
		
	. += 1024;
	_usr_stack = .;	
	
	. += 1024;
	_irq_stack = .;
	_estack = .;
  } > SRAM
  
  _end = . ;
  PROVIDE (end = .);

  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
}

  ----------

/***********************************************************************/
/*                                                                     */
/*  RAM.ld:  Linker Script File                                        */
/*                                                                     */
/***********************************************************************/
ENTRY(_start)
STACK_SIZE = 0x400;

RAM_LIMIT = 0x40004000;


/* Memory Definitions */
MEMORY
{
	FLASH (rx) : ORIGIN = 0x0, LENGTH = 0x20000			/* 512Kb of internal FLASH */
	SRAM (rwx) : ORIGIN = 0x40000000, LENGTH = 0x4000	/* 32Kb of internal SRAM */
}

/* Section Definitions */
SECTIONS
{
  	/* first section is .text which is used for code */
  	.text :
  	{    
		crt0.o (.vectors)
		*(.fiqisr)
		crt0.o (.text)
    	*(EXCLUDE_FILE(crt0.o).text)         /* remaining code */
    	*(.rodata)               			  /* read-only data (constants) */
    	*(.rodata*)
    	*(.glue_7)
    	*(.glue_7t)
  	} > FLASH

	. = ALIGN(4);	
	_etext = . ;

  /* .data section which is used for initialized data */
  .data  : AT (_etext)
  {
    _data = .;
    *(.data)
    . = ALIGN(4);
    _edata = .;
  } > SRAM

  /* .bss section which is used for uninitialized data */
  .bss (NOLOAD) :
  {
    _bss = . ;
    *(.bss)
    *(COMMON)
    . = ALIGN(4);
    _ebss = .;
  } > SRAM
    
/*  .heap ALIGN(4) :*/
/*  { */
/*  	_heap_begin = .;*/
/*  	*(.data_heap)*/
/*  } > SRAM**/
           
  /*. += 0x4000;*/
/*  _heap_end = .;*/
   
  . = RAM_LIMIT - 8 - 4 - 4 - 4 - 1024 - 1024; 
  .stack ALIGN(4) :
  {
  	_stack = .;
  	. += 4;
  	_undefined_stack = .;
  	
  	. += 4;
  	_abort_stack = .;
  	
  	. += 4;
	_fiq_stack = .;
	
	. += 4;
	_svc_stack = .;
		
	. += 1024;
	_usr_stack = .;	
	
	. += 1024;
	_irq_stack = .;
	_estack = .;
  } > SRAM
  
  _end = . ;
  PROVIDE (end = .);

  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
}


[Non-text portions of this message have been removed]

Re: .ld for 2148

2005-12-29 by rtstofer

The tutorial I linked to earlier has a complete 2148 linker script 
including extensive documentation.

Richard

Re: [lpc2000] .ld for 2148

2005-12-30 by Rob Jansen

> I admit I'm a little disappointed about getting no replies on this
> one.  Looking over the exisiting .ld files I have, it would appear to
> be less than an hour's work (?).

Work ?

What is an lpc2148 .ld file different from a 2106 or other version?
It's just the amount of RAM/Flash that is different.
Adapting your lpc2106 (or other) .ld file is maybe the easiest thing to do.

I do have .ld files for all lpc21xx types delivered on CD with my Embedded
Artists boards and the only differences are in RAM/Flash settings.

I am starting to like these quickstart boards more and more.
With the boards all kinds of programming examples and a complete
development system are delivered on CD - no need to go searching for all
these examples on how to use watchdog, uart, i2c or other peripherals ...

Rob

Re: .ld for 2148

2005-12-30 by paloalgodon

Thanks all!  I feel alot more comfortable jumping in with all the 
help.  ~Steve

Re: [lpc2000] .ld for 2148

2005-12-30 by Marko Panger

Hi,

I'm just re-sending this as it seems that it didn't arrived the first 
time. See below.

marko

Hi !

I am attaching two .ld files I am using. I don't remember where do I 
grab them (it was on www.gnuarm or somewhere else on this forum) 
exactly. I adopted them to suit my needs on the LPC2138. Modifying them 
for 2148 should be straight forward.

The ROM_fiq.ld file has a special ".fiqisr" section which is placed 
directly on the exception vector (no extra jump needed) for optimum 
performance when executing an FIQ from flash. If you define your 
"fiqisr" section it will be placed right there.

Hope it helps !

marko,

uSmartX RTOS - mixing preemptive and non-preemptive worlds !
http://usmartx.sourceforge.net/


paloalgodon wrote:

>I admit I'm a little disappointed about getting no replies on this 
>one.  Looking over the exisiting .ld files I have, it would appear to 
>be less than an hour's work (?).  I just figure, why re-invent the 
>wheel, when there's probably a bunch of *tested* copies running around 
>(especially when I'm a newbie).  I was actually suprized that there 
>wasn't already a complete set of .ld files for all the lpc parts in the 
>files section of our group.  I understand that .ld files are typically 
>customized a bit, just like makefiles, but a straightforward one that 
>runs from rom and calls global ctors would be fine for most beginners, 
>I would think.  I will certainly post if/when I get one 
>working...course that could be counterproductive if we're trying to 
>keep all the folks used to having the hard stuff done for them (WinAVR) 
>off of our list <wink><wink>
>
>Steve
>
>
>
>
>
>
>
> 
>Yahoo! Groups Links
>
>
>
> 
>
>
>
>  
>



  ----------

/***********************************************************************/
/*                                                                     */
/*  RAM.ld:  Linker Script File                                        */
/*                                                                     */
/***********************************************************************/
ENTRY(_start)
STACK_SIZE = 0x400;

RAM_LIMIT = 0x40008000;


/* Memory Definitions */
MEMORY
{
	FLASH (rx) : ORIGIN = 0x0, LENGTH = 0x80000			/* 512Kb of internal FLASH */
	SRAM (rwx) : ORIGIN = 0x40000000, LENGTH = 0x8000	/* 32Kb of internal SRAM */
}

/* Section Definitions */
SECTIONS
{
  	/* first section is .text which is used for code */
  	.text :
  	{    		
		*crt0.o (.text)
    	*(EXCLUDE_FILE(*crt0.o).text)         /* remaining code */
    	*(.rodata)               			  /* read-only data (constants) */
    	*(.rodata*)
    	*(.glue_7)
    	*(.glue_7t)
  	} > FLASH

	. = ALIGN(4);	
	_etext = . ;

  /* .data section which is used for initialized data */
  .data  : AT (_etext)
  {
    _data = .;
    *(.data)
    . = ALIGN(4);
    _edata = .;
  } > SRAM

  /* .bss section which is used for uninitialized data */
  .bss (NOLOAD) :
  {
    _bss = . ;
    *(.bss)
    *(COMMON)
    . = ALIGN(4);
    _ebss = .;
  } > SRAM
    
/*  .heap ALIGN(4) :*/
/*  { */
/*  	_heap_begin = .;*/
/*  	*(.data_heap)*/
/*  } > SRAM**/
           
  /*. += 0x4000;*/
/*  _heap_end = .;*/
   
  . = RAM_LIMIT - 8 - 4 - 4 - 4 - 1024 - 1024; 
  .stack ALIGN(4) :
  {
  	_stack = .;
  	. += 4;
  	_undefined_stack = .;
  	
  	. += 4;
  	_abort_stack = .;
  	
  	. += 4;
	_fiq_stack = .;
	
	. += 4;
	_svc_stack = .;
		
	. += 1024;
	_usr_stack = .;	
	
	. += 1024;
	_irq_stack = .;
	_estack = .;
  } > SRAM
  
  _end = . ;
  PROVIDE (end = .);

  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
}


  ----------

/***********************************************************************/
/*                                                                     */
/*  RAM.ld:  Linker Script File                                        */
/*                                                                     */
/***********************************************************************/
ENTRY(_start)
STACK_SIZE = 0x400;

RAM_LIMIT = 0x40004000;


/* Memory Definitions */
MEMORY
{
	FLASH (rx) : ORIGIN = 0x0, LENGTH = 0x20000			/* 512Kb of internal FLASH */
	SRAM (rwx) : ORIGIN = 0x40000000, LENGTH = 0x4000	/* 32Kb of internal SRAM */
}

/* Section Definitions */
SECTIONS
{
  	/* first section is .text which is used for code */
  	.text :
  	{    
		crt0.o (.vectors)
		*(.fiqisr)
		crt0.o (.text)
    	*(EXCLUDE_FILE(crt0.o).text)         /* remaining code */
    	*(.rodata)               			  /* read-only data (constants) */
    	*(.rodata*)
    	*(.glue_7)
    	*(.glue_7t)
  	} > FLASH

	. = ALIGN(4);	
	_etext = . ;

  /* .data section which is used for initialized data */
  .data  : AT (_etext)
  {
    _data = .;
    *(.data)
    . = ALIGN(4);
    _edata = .;
  } > SRAM

  /* .bss section which is used for uninitialized data */
  .bss (NOLOAD) :
  {
    _bss = . ;
    *(.bss)
    *(COMMON)
    . = ALIGN(4);
    _ebss = .;
  } > SRAM
    
/*  .heap ALIGN(4) :*/
/*  { */
/*  	_heap_begin = .;*/
/*  	*(.data_heap)*/
/*  } > SRAM**/
           
  /*. += 0x4000;*/
/*  _heap_end = .;*/
   
  . = RAM_LIMIT - 8 - 4 - 4 - 4 - 1024 - 1024; 
  .stack ALIGN(4) :
  {
  	_stack = .;
  	. += 4;
  	_undefined_stack = .;
  	
  	. += 4;
  	_abort_stack = .;
  	
  	. += 4;
	_fiq_stack = .;
	
	. += 4;
	_svc_stack = .;
		
	. += 1024;
	_usr_stack = .;	
	
	. += 1024;
	_irq_stack = .;
	_estack = .;
  } > SRAM
  
  _end = . ;
  PROVIDE (end = .);

  /* Stabs debugging sections.  */
  .stab          0 : { *(.stab) }
  .stabstr       0 : { *(.stabstr) }
  .stab.excl     0 : { *(.stab.excl) }
  .stab.exclstr  0 : { *(.stab.exclstr) }
  .stab.index    0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment       0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
}



[Non-text portions of this message have been removed]

Re: [lpc2000] .ld for 2148

2005-12-30 by Tom Walsh

paloalgodon wrote:

>I admit I'm a little disappointed about getting no replies on this 
>one.  Looking over the exisiting .ld files I have, it would appear to 
>be less than an hour's work (?).  I just figure, why re-invent the 
>wheel, when there's probably a bunch of *tested* copies running around 
>(especially when I'm a newbie).  I was actually suprized that there 
>wasn't already a complete set of .ld files for all the lpc parts in the 
>files section of our group.  I understand that .ld files are typically 
>customized a bit, just like makefiles, but a straightforward one that 
>  
>
Linker script files (.ld) are unique to the development environment: 
compiler, libraries, etc.  They are not peculiar to the processor 
flavor, therefore you can take a LPC21xx, LPC22xx, LPC23xx, or whatever, 
make a few changes to the top of the file where the MEMORY SIZEs are, 
and use them.

The scripts essentially describe where to put what.  And before I get 
flamed, yes, there are slightly different arrangements of memory between 
the LPC products where an external memory bus is available..

The files are not hard to read, if you are on Linux: 'info ld' and look 
at the "scripts" menu entry.  If you are Cygwin, well..., YMMV.  
Embedded programming is an acquired skill / art-form, not a turnkey 
operation.

Reminds me of "... teach a man how to fish ...".

Regards,

TomW


-- 
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net, http://cyberiansoftware.com
"Windows? No thanks, I have work to do..."
----------------------------------------------------

Re: .ld for 2148

2005-12-30 by derbaier

--- In lpc2000@yahoogroups.com, Tom Walsh <tom@o...> wrote:
> 
> Reminds me of "... teach a man how to fish ...".
> 
> Regards,
> 
> TomW
> 

Well, you just made my day!!!    <G>    :-)

-- Dave

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.