Changeset 98847ed8 in rtems


Ignore:
Timestamp:
Mar 18, 2003, 6:16:53 PM (17 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Children:
6ac7a12
Parents:
95501284
Message:

2003-03-18 Till Straumann <strauman@…>

PR 356/bsps

  • bsp_specs, start/Makefile.am, startup/linkcmds This patch makes RTEMS/powerpc/shared EABI compliant. Declare all linker-script defined addresses as variables of unknown size and not as short objects like 'int', 'void*' etc. This prevents the compiler from generating a relocation who assumes the existence of an rtems_end object in one of the short data areas (which would result in a linker error).
Location:
c/src/lib/libbsp/powerpc/motorola_powerpc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/motorola_powerpc/ChangeLog

    r95501284 r98847ed8  
     12003-03-18  Till Straumann <strauman@slac.stanford.edu>
     2
     3        PR 356/bsps
     4        * bsp_specs, start/Makefile.am, startup/linkcmds
     5        This patch makes RTEMS/powerpc/shared EABI compliant.
     6        Declare all linker-script defined addresses as
     7        variables of unknown size and not as short objects
     8        like 'int', 'void*' etc.
     9        This prevents the compiler from generating a relocation
     10        who assumes the existence of an __rtems_end object in
     11        one of the short data areas (which would result in a
     12        linker error).
     13
    1142003-03-06      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
    215
  • c/src/lib/libbsp/powerpc/motorola_powerpc/bsp_specs

    r95501284 r98847ed8  
    1515
    1616*startfile:
    17 %{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems:  ecrti%O%s crtbegin.o%s  \
     17%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems:  ecrti%O%s rtems_crti%O%s crtbegin.o%s  \
    1818%{!qrtems_debug: start.o%s} \
    1919%{qrtems_debug: start_g.o%s}}}
  • c/src/lib/libbsp/powerpc/motorola_powerpc/start/Makefile.am

    r95501284 r98847ed8  
    55VPATH = @srcdir@:@srcdir@/../../shared/start
    66
    7 S_FILES = start.S
     7S_FILES = start.S rtems_crti.S
    88S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.$(OBJEXT))
    99
     
    1616# (OPTIONAL) Add local stuff here using +=
    1717#
    18 
    19 install-data-local: $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).$(OBJEXT)
    20         @$(mkinstalldirs) $(DESTDIR)$(bsplibdir)
    21         $(INSTALL_DATA) $< $(DESTDIR)$(bsplibdir)
     18bsplib_DATA =  $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).$(OBJEXT)
     19bsplib_DATA += $(PROJECT_RELEASE)/lib/rtems_crti.$(OBJEXT)
    2220
    2321$(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).$(OBJEXT): $(ARCH)/start.$(OBJEXT)
    2422        $(INSTALL_DATA) $< $@
    2523
     24$(PROJECT_RELEASE)/lib/rtems_crti.$(OBJEXT): $(ARCH)/rtems_crti.$(OBJEXT)
     25        $(INSTALL_DATA) $< $@
     26
    2627TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).$(OBJEXT)
     28TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/rtems_crti.$(OBJEXT)
    2729
    28 all-local: $(ARCH) $(OBJS) $(ARCH)/start.$(OBJEXT) $(TMPINSTALL_FILES)
     30all-local: $(ARCH) $(OBJS) $(ARCH)/start.$(OBJEXT) $(ARCH)/rtems_crti.$(OBJEXT) $(TMPINSTALL_FILES)
    2931
    30 .PRECIOUS: $(ARCH)/start.$(OBJEXT)
     32$(OBJS): $(ARCH)
     33
     34.PRECIOUS: $(ARCH)/start.$(OBJEXT) $(ARCH)/rtems_crti.$(OBJEXT)
    3135
    3236include $(top_srcdir)/../../../../../../automake/local.am
  • c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds

    r95501284 r98847ed8  
    5454  .rela.sbss2     : { *(.rela.sbss2)    }       > CODE
    5555
    56   .init           : { _init = .; KEEP(*(.init)) } > CODE
     56  .init           : { KEEP(*(.init))            } > CODE
    5757
    5858  .text      : 
     
    9898  PROVIDE (__fini_array_end = .);
    9999
     100_SDA2_BASE_ = __SDATA2_START__ + 0x8000;
    100101  .sdata2         : { *(.sdata2) *(.gnu.linkonce.s2.*)  } >CODE
    101102  .sbss2          : { *(.sbss2) *(.gnu.linkonce.sb2.*)  } >CODE
     
    192193     can access them all, and initialized data all before uninitialized, so
    193194     we can shorten the on-disk segment size.  */
     195_SDA_BASE_ = __SDATA_START__ + 0x8000;
    194196  .sdata          : { *(.sdata) *(.gnu.linkonce.s.*)    } >CODE
    195197  _edata  =  .;
Note: See TracChangeset for help on using the changeset viewer.