Changeset f419349 in rtems for bsps


Ignore:
Timestamp:
May 27, 2019, 8:14:48 AM (6 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
98fc6014
Parents:
20bd667
Message:

bsps/powerpc: Adjust ppcboot.lds

The GNU ld had a couple of changes which resulted in a broken bootloader
image generation. Recent linker versions tie assignments to their
nearest output section statement. Place all absolute symbols which are
used with @sectoff relocations into a special section.

See also:

"Binutils 2.28 on PowerPC: dangerous relocation: generic linker can't
handle R_PPC_SECTOFF_HA"

https://www.sourceware.org/ml/binutils/2019-05/msg00183.html

Update #3727

File:
1 edited

Legend:

Unmodified
Added
Removed
  • bsps/powerpc/motorola_powerpc/bootloader/ppcboot.lds

    r20bd667 rf419349  
    5959    _FIXUP_TABLE_ = .;
    6060    *(.fixup)
     61    _FIXUP_END_ = .;
    6162  }
    62 
    63   __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
    64   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
    6563
    6664  .handlers :
     
    7573    *(.sdata)
    7674    . = ALIGN(4);
    77     _edata = .;
     75    _data_end = .;
    7876  }
    79   PROVIDE(_binary_initrd_gz_start = 0);
    80   PROVIDE(_binary_initrd_gz_end = 0);
    81   _rtems_gz_size = _binary_rtems_gz_end - _binary_rtems_gz_start;
    82   _rtems_size = __rtems_end - __rtems_start;
    8377  .bss :
    8478  {
     
    8781    . = ALIGN(4);
    8882  }
    89   __bss_words = SIZEOF(.bss)>>2;
    90   __size = . ;
     83  .abs 0 : {
     84    __got2_entries = ABSOLUTE((_FIXUP_TABLE_ - _GOT2_TABLE_) >>2);
     85    __fixup_entries = ABSOLUTE((_FIXUP_END_ - _FIXUP_TABLE_)>>2);
     86    _edata = ABSOLUTE(_data_end);
     87    PROVIDE(_binary_initrd_gz_start = ABSOLUTE(0));
     88    PROVIDE(_binary_initrd_gz_end = ABSOLUTE(0));
     89    _rtems_gz_size = ABSOLUTE(_binary_rtems_gz_end - _binary_rtems_gz_start);
     90    _rtems_size = ABSOLUTE(__rtems_end - __rtems_start);
     91    __bss_words = ABSOLUTE(SIZEOF(.bss)>>2);
     92    __size = ABSOLUTE(.);
     93  }
     94
    9195  /DISCARD/ :
    9296  {
Note: See TracChangeset for help on using the changeset viewer.