Ignore:
Timestamp:
2011-04-30T16:12:19Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
15b3761
Parents:
4ddbea7
Message:

Merge linker script sources for shared libs and dynamicaly linked executables
into the default one.

File:
1 edited

Legend:

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

    r4ddbea7 r729f774f  
     1#ifndef SHLIB
    12STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
    23ENTRY(__entry)
     4#endif
    35
    46PHDRS {
    5 #ifdef LOADER
     7#if defined(LOADER)
    68        interp PT_INTERP;
    79        text PT_LOAD FILEHDR PHDRS FLAGS(5);
     10#elif defined(DLEXE)
     11        interp PT_INTERP;
     12        text PT_LOAD FLAGS(5);
    813#else
    914        text PT_LOAD FLAGS(5);
    1015#endif
    1116        data PT_LOAD FLAGS(6);
     17#if defined(SHLIB) || defined(DLEXE)
     18        dynamic PT_DYNAMIC;
     19#endif
    1220}
    1321
    1422SECTIONS {
    15 #ifdef LOADER
     23#if defined(LOADER) || defined(DLEXE)
    1624        .interp : {
    1725                *(.interp);
    1826        } :interp
    19        
     27#endif
     28#ifdef LOADER
    2029        . = 0x70004000 + SIZEOF_HEADERS;
    2130#else
     
    3140        } :text
    3241       
     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
    3366        . = . + 0x4000;
     67       
     68#if defined(SHLIB) || defined(DLEXE)
     69        .dynamic : {
     70                *(.dynamic);
     71        } :data :dynamic
     72#endif
    3473       
    3574        .data : {
     
    4382        } :data
    4483       
     84#ifndef DLEXE
    4585        .tdata : {
    4686                _tdata_start = .;
     
    5696       
    5797        _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
    58        
     98#endif
    5999        .sbss : {
    60100                *(.scommon);
     
    67107        } :data
    68108       
     109#if defined(SHLIB)
     110#elif defined(DLEXE)
     111        /DISCARD/ : {
     112                *(.comment);
     113        }
     114#else
    69115        /DISCARD/ : {
    70116                *(*);
    71117        }
     118#endif
    72119}
Note: See TracChangeset for help on using the changeset viewer.