On Thu, Jul 1, 2021 at 1:50 PM Gedare Bloom <ged...@rtems.org> wrote: > > Hello all, > > The uC5282 stopped working in 5 and master. This patch seems to get > things working again on both branches. I can run hello.exe and > ticker.exe on the WIP qemu Harrison is working on.
Based on our chats, it looks like the move to per function section linking pointing out deficiencies in a few BSPs linker scripts. Maybe someone on your side can grep and see if there are any more obvious places missing KEEP. > I will back-port to 5 with a ticket. Great! > We'll work on full tester configuration after the WIP qemu > modifications are finished. (Test execution termination isn't working, > so automation is out.) Is there a reset register on the uc5282? Qemu has support in some machine models for exiting instead of resetting via a command line option. Otherwise, poke Alex to see what he did with the Microblaze. I don't think qemu exits automatically for it either. --joel > > Gedare > > On Thu, Jul 1, 2021 at 12:40 PM Gedare Bloom <ged...@rtems.org> wrote: > > > > Fixes a problem with bad epilog code in _fini and to keep sections > > necessary with the -ffunction/data-sections. > > --- > > bsps/m68k/uC5282/start/linkcmds | 34 ++++++++++++++++++--------------- > > 1 file changed, 19 insertions(+), 15 deletions(-) > > > > diff --git a/bsps/m68k/uC5282/start/linkcmds > > b/bsps/m68k/uC5282/start/linkcmds > > index 6ac9de96ae..2111e53036 100644 > > --- a/bsps/m68k/uC5282/start/linkcmds > > +++ b/bsps/m68k/uC5282/start/linkcmds > > @@ -91,13 +91,13 @@ SECTIONS > > * crtn.o are in. > > */ > > PROVIDE (_init = .); > > - *crti.o(.init) > > - *(.init) > > - *crtn.o(.init) > > + KEEP (*crti.o(.init)) > > + KEEP (*(.init)) > > + KEEP (*crtn.o(.init)) > > PROVIDE (_fini = .); > > - *crti.o(.fini) > > - *(.fini) > > - *crtn.o(.fini) > > + KEEP (*crti.o(.fini)) > > + KEEP (*(.fini)) > > + KEEP (*crtn.o(.fini)) > > > > /* > > * Special FreeBSD sysctl sections. > > @@ -122,18 +122,22 @@ SECTIONS > > * crtend.o. The same comments apply to it. > > */ > > . = ALIGN (16); > > - *crtbegin.o(.ctors) > > - *(.ctors) > > - *crtend.o(.ctors) > > - *crtbegin.o(.dtors) > > - *(.dtors) > > - *crtend.o(.dtors) > > + KEEP (*crtbegin.o(.ctors)) > > + KEEP (*crtbegin?.o(.ctors)) > > + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) > > + KEEP (*(SORT(.ctors.*))) > > + KEEP (*(.ctors)) > > + KEEP (*crtbegin.o(.dtors)) > > + KEEP (*crtbegin?.o(.dtors)) > > + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) > > + KEEP (*(SORT(.dtors.*))) > > + KEEP (*(.dtors)) > > > > /* > > * Exception frame info > > */ > > . = ALIGN (16); > > - *(.eh_frame) > > + KEEP (*(.eh_frame)) > > > > /* > > * Read-only data > > @@ -141,7 +145,7 @@ SECTIONS > > . = ALIGN (16); > > _rodata_start = . ; > > *(.rodata*) > > - KEEP (*(SORT(.rtemsroset.*))) > > + KEEP (*(SORT(.rtemsroset.*))) > > *(.gnu.linkonce.r*) > > > > . = ALIGN (16); > > @@ -179,7 +183,7 @@ SECTIONS > > KEEP (*(SORT(.rtemsrwset.*))) > > *(.gnu.linkonce.d*) > > *(.gcc_except_table*) > > - *(.jcr) > > + KEEP (*(.jcr)) > > . = ALIGN (16); > > PROVIDE (_edata = .); > > PROVIDE (_copy_end = .); > > -- > > 2.25.1 > > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel