Changeset fac8a3a in rtems


Ignore:
Timestamp:
Nov 2, 2016, 9:01:36 AM (4 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
5, master
Children:
d057d653
Parents:
b7694c8c
git-author:
Sebastian Huber <sebastian.huber@…> (11/02/16 09:01:36)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/02/16 09:05:40)
Message:

bsps/sparc: Fix copy of initialized data

The text and data sections may have different alignment requirements.
Support a data section alignment greater than 16.

Location:
c/src/lib/libbsp/sparc/shared
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/sparc/shared/start/start.S

    rb7694c8c rfac8a3a  
    360360         *  Copy the initialized data to RAM
    361361         *
    362          *  FROM:   _endtext
     362         *  FROM:   _data_load_start
    363363         *  TO:     _data_start
    364364         *  LENGTH: (__bss_start - _data_start) bytes
    365365         */
    366366
    367         sethi %hi(_endtext),%g1
    368         or    %g1,%lo(_endtext),%g1     ! g1 = start of initialized data in ROM
    369 
    370         sethi %hi(_data_start),%g3
    371         or    %g3,%lo(_data_start),%g3  ! g3 = start of initialized data in RAM
    372 
    373         sethi %hi(__bss_start), %g2
    374         or    %g2,%lo(__bss_start),%g2  ! g2 = end of initialized data in RAM
     367        sethi %hi(_data_load_start),%g1 ! g1 = start of initialized data in ROM
     368        or    %g1,%lo(_data_load_start),%g1
     369
     370        sethi %hi(_data_start),%g3      ! g3 = start of initialized data in RAM
     371        or    %g3,%lo(_data_start),%g3
     372
     373        sethi %hi(__bss_start), %g2     ! g2 = end of initialized data in RAM
     374        or    %g2,%lo(__bss_start),%g2
    375375
    376376        cmp   %g1, %g3
  • c/src/lib/libbsp/sparc/shared/startup/linkcmds.base

    rb7694c8c rfac8a3a  
    163163    _edata = .;
    164164  } > ram
     165  _data_load_start = LOADADDR (.data);
    165166  .rtemsrwset : {
    166167    KEEP (*(SORT(.rtemsrwset.*)))
Note: See TracChangeset for help on using the changeset viewer.