<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV>I succesfully use libdl with mips processors (R300 with small correct 
resole mips16 relocs).</DIV>
<DIV>RTEMS 4.11 and 4.12</DIV>
<DIV>1. After patch rtems “Add per-section compilation and linking support" 
image size reduce 811400 –> 653864. </DIV>
<DIV>It’s OK, but now rap file generate incorrectly and not load.</DIV>
<DIV>Test program only get and print lists tasks, semaphores, messages, 
periiods.</DIV>
<DIV>Without per-section compilation symbol map:</DIV>
<DIV>                   
size  align offset    </DIV>
<DIV>          .text:   
2000     16 0x00000054 (84)</DIV>
<DIV>         .const:    
368      0 0x00000824 (2084)</DIV>
<DIV>          
.ctor:      0      0 
0x00000994 (2452)</DIV>
<DIV>          
.dtor:      0      0 
0x00000994 (2452)</DIV>
<DIV>          
.data:      0     16 0x00000994 
(2452)</DIV>
<DIV>           
.bss:      0     16 -</DIV>
<DIV>         
strtab:     82      - 0x00000994 
(2452)</DIV>
<DIV>         
symtab:     48      - 0x000009e6 
(2534)</DIV>
<DIV>         relocs:   
1332      - 0x00000a16 (2582)</DIV>
<DIV>Details: 0x00000020 (32)</DIV>
<DIV>No details</DIV>
<DIV>Strings: 0x00000994 (2452) size: 82</DIV>
<DIV>              
0 (0x000000): </DIV>
<DIV>              
1 (0x000001): rtems</DIV>
<DIV>              
2 (0x000007): _Heap_Get_information</DIV>
<DIV>              
3 (0x00001d): _Heap_Iterate</DIV>
<DIV>              
4 (0x00002b): _Protected_heap_Get_information</DIV>
<DIV>              
5 (0x00004b): rtems</DIV>
<DIV>              
6 (0x000051): </DIV>
<DIV>Symbols: 0x000009e6 (2534) size: 48</DIV>
<DIV>                   
data section  value      name</DIV>
<DIV>              
0: 0x0012    .text 0x00000000 rtems</DIV>
<DIV>              
1: 0x0012    .text 0x00000000 _Heap_Get_information</DIV>
<DIV>              
2: 0x0012    .text 0x00000000 _Heap_Iterate</DIV>
<DIV>              
3: 0x0012    .text 0x00000000 
_Protected_heap_Get_information</DIV>
<DIV> </DIV>
<DIV>With per-section compilation symbol map:</DIV>
<DIV>                   
size  align offset    </DIV>
<DIV>          .text:   
2404     16 0x00000054 (84)</DIV>
<DIV>         .const:    
368      0 0x000009b8 (2488)</DIV>
<DIV>          
.ctor:      0      0 
0x00000b28 (2856)</DIV>
<DIV>          
.dtor:      0      0 
0x00000b28 (2856)</DIV>
<DIV>          
.data:      4     16 0x00000b28 
(2856)</DIV>
<DIV>           
.bss:      0     16 -</DIV>
<DIV>         strtab:    
156      - 0x00000b2c (2860)</DIV>
<DIV>         
symtab:     96      - 0x00000bc8 
(3016)</DIV>
<DIV>         relocs:   
1488      - 0x00000c28 (3112)</DIV>
<DIV>Details: 0x00000020 (32)</DIV>
<DIV>No details</DIV>
<DIV>Strings: 0x00000b2c (2860) size: 156</DIV>
<DIV>              
0 (0x000000): </DIV>
<DIV>              
1 (0x000001): rtems</DIV>
<DIV>              
2 (0x000007): rtems_object_get_name</DIV>
<DIV>              
3 (0x00001d): _Heap_Get_information</DIV>
<DIV>              
4 (0x000033): _Heap_Iterate</DIV>
<DIV>              
5 (0x000041): _Objects_Get_name_as_string</DIV>
<DIV>              
6 (0x00005d): _Protected_heap_Get_information</DIV>
<DIV>              
7 (0x00007d): putchar</DIV>
<DIV>              
8 (0x000085): BSP_output_char</DIV>
<DIV>              
9 (0x000095): rtems</DIV>
<DIV>             10 
(0x00009b): </DIV>
<DIV>Symbols: 0x00000bc8 (3016) size: 96</DIV>
<DIV>                   
data section  value      name</DIV>
<DIV>              
0: 0x0012    .text 0x00000000 rtems</DIV>
<DIV>              
1: 0x0012    .text 0x00000000 rtems_object_get_name</DIV>
<DIV>              
2: 0x0012    .text 0x00000000 _Heap_Get_information</DIV>
<DIV>              
3: 0x0012    .text 0x00000000 _Heap_Iterate</DIV>
<DIV>              
4: 0x0012    .text 0x00000000 _Objects_Get_name_as_string</DIV>
<DIV>              
5: 0x0012    .text 0x00000000 
_Protected_heap_Get_information</DIV>
<DIV>              
6: 0x0012    .text 0x00000000 putchar</DIV>
<DIV>              
7: 0x0011    .data 0x00000000 BSP_output_char</DIV>
<DIV> </DIV>
<DIV>Dynamic loader say: Duplicate symbol BSP_output_char</DIV>
<DIV>and stop loading.</DIV>
<DIV> </DIV>
<DIV>2. Also after allocate .bss section it not zeroed and static uninitialized 
symbols have undefined value.</DIV>
<DIV>  In standart linker bss section zeroed in startup procedure.</DIV>
<DIV>  May be need memset after allocate bss section?</DIV>
<DIV> </DIV>
<DIV>Sorry for my english <IMG class="wlEmoticon wlEmoticon-smile" 
style="BORDER-TOP-STYLE: none; BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" 
alt=Улыбка src="cid:2862539BFF7B4102BE758E3FCD5FB9B7@NOK"></DIV>
<DIV>With best reagrds, Serg Kruglov</DIV></DIV></DIV></BODY></HTML>