Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 4235849 in mainline


Ignore:
Timestamp:
2011-05-01T12:14:46Z (11 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master
Children:
326d86e
Parents:
9fb1397
Message:

Replace ppc32 and mips32 linker scripts with mainline versions.

Location:
uspace/lib/c/arch
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/arch/mips32/_link.ld.in

    r9fb1397 r4235849  
    1 #ifndef SHLIB
    21STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    32ENTRY(__entry)
    4 #endif
    53
    64PHDRS {
    7 #if defined(LOADER)
     5#ifdef LOADER
    86        interp PT_INTERP;
    97        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    10 #elif defined(DLEXE)
    11         interp PT_INTERP;
    12         text PT_LOAD FLAGS(5);
    138#else
    149        text PT_LOAD FLAGS(5);
    1510#endif
    1611        data PT_LOAD FLAGS(6);
    17 #if defined(SHLIB) || defined(DLEXE)
    18         dynamic PT_DYNAMIC;
    19 #endif
    2012}
    2113
    2214SECTIONS {
    23 #if defined(LOADER) || defined(DLEXE)
     15#ifdef LOADER
    2416        .interp : {
    2517                *(.interp);
    2618        } :interp
    27 #endif
    28 #ifdef LOADER
     19       
    2920        . = 0x70004000 + SIZEOF_HEADERS;
    3021#else
     
    4031        } :text
    4132       
    42 #if defined(SHLIB) || defined(DLEXE)
    43         .rel.plt : {
    44                 *(.rel.plt);
    45         }
    46         /*
    47          *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt
    48          * without alignment gap or DT_REL will be broken
    49          */
    50         .rel.dyn : {
    51                 *(.rel.*);
    52         } :text
    53        
    54         .plt : {
    55                 *(.plt);
    56         } :text
    57        
    58         .dynsym : {
    59                 *(.dynsym);
    60         } :text
    61        
    62         .dynstr : {
    63                 *(.dynstr);
    64         } :text
    65 #endif
    6633        . = . + 0x4000;
    67        
    68 #if defined(SHLIB) || defined(DLEXE)
    69         .dynamic : {
    70                 *(.dynamic);
    71         } :data :dynamic
    72 #endif
    7334       
    7435        .data : {
     
    8243        } :data
    8344       
    84 #ifndef DLEXE
    8545        .tdata : {
    8646                _tdata_start = .;
     
    9656       
    9757        _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
    98 #endif
     58       
    9959        .sbss : {
    10060                *(.scommon);
     
    10767        } :data
    10868       
    109 #if defined(SHLIB)
    110 #elif defined(DLEXE)
    111         /DISCARD/ : {
    112                 *(.comment);
    113         }
    114 #else
    11569        /DISCARD/ : {
    11670                *(*);
    11771        }
    118 #endif
    11972}
  • uspace/lib/c/arch/ppc32/_link.ld.in

    r9fb1397 r4235849  
    1 #ifndef SHLIB
    21STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    32ENTRY(__entry)
    4 #endif
    53
    64PHDRS {
    7 #if defined(LOADER)
     5#ifdef LOADER
    86        interp PT_INTERP;
    97        text PT_LOAD FILEHDR PHDRS FLAGS(5);
    10 #elif defined(DLEXE)
    11         interp PT_INTERP;
    12         text PT_LOAD FLAGS(5);
    138#else
    149        text PT_LOAD FLAGS(5);
    1510#endif
    1611        data PT_LOAD FLAGS(6);
    17 #if defined(SHLIB) || defined(DLEXE)
    18         dynamic PT_DYNAMIC;
    19 #endif
    2012}
    2113
    2214SECTIONS {
    23 #if defined(LOADER) || defined(DLEXE)
     15#ifdef LOADER
    2416        .interp : {
    2517                *(.interp);
    2618        } :interp
    27 #endif
    28 #ifdef LOADER
     19       
    2920        . = 0x70001000 + SIZEOF_HEADERS;
    3021#else
     
    4031        } :text
    4132       
    42 #if defined(SHLIB) || defined(DLEXE)
    43         .rel.plt : {
    44                 *(.rel.plt);
    45         }
    46         /*
    47          *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt
    48          * without alignment gap or DT_REL will be broken
    49          */
    50         .rel.dyn : {
    51                 *(.rel.*);
    52         } :text
    53        
    54         .plt : {
    55                 *(.plt);
    56         } :text
    57        
    58         .dynsym : {
    59                 *(.dynsym);
    60         } :text
    61        
    62         .dynstr : {
    63                 *(.dynstr);
    64         } :text
    65 #endif
    6633        . = . + 0x1000;
    67        
    68 #if defined(SHLIB) || defined(DLEXE)
    69         .dynamic : {
    70                 *(.dynamic);
    71         } :data :dynamic
    72 #endif
    7334       
    7435        .data : {
     
    7738        } :data
    7839       
    79 #if defined(SHLIB) || defined(DLEXE)
    80         .data.rel : {
    81                 *(.data.rel);
    82         } :data
    83        
    84         .got : {
    85                 *(.got);
    86         } :data
    87         .got.plt : {
    88                 *(.got.plt);
    89         } :data
    90 #endif
    91        
    92 #ifndef DLEXE
    9340        .tdata : {
    9441                _tdata_start = .;
     
    10148       
    10249        _tls_alignment = ALIGNOF(.tdata);
    103 #endif
    10450       
    10551        .bss : {
     
    10955        } :data
    11056       
    111 #if defined(SHLIB)
    112 #elif defined(DLEXE)
    113         /DISCARD/ : {
    114                 *(.comment);
    115         }
    116 #else
    11757        /DISCARD/ : {
    11858                *(*);
    11959        }
    120 #endif
    12160}
Note: See TracChangeset for help on using the changeset viewer.