Re: [PATCH] Use linker set for system initialization

2015-12-13 Thread Chris Johns
On 12/11/15 21:59, Sebastian Huber wrote: All the constructors are used via function pointers, so without link-time optimization and a very smart compiler, they must exist as a single function. I think there may be a binutils bug in the mapping option. You can use objcopy --globalize-symbol

Re: [PATCH] Use linker set for system initialization

2015-12-11 Thread Sebastian Huber
On 11/12/15 11:50, Chris Johns wrote: >> >>The only reason I ask is the trace linker needs external symbols to >>work and they are interesting symbols. Static symbols cannot be >>remapped by gld. > >I think tracing is not really interesting in the system startup >sequence. It is single threade

Re: [PATCH] Use linker set for system initialization

2015-12-11 Thread Chris Johns
On 11/12/2015 5:32 PM, Sebastian Huber wrote: > On 11/12/15 06:17, Chris Johns wrote: >> On 12/10/15 19:14, Sebastian Huber wrote: >>> Make rtems_initialize_data_structures(), >>> rtems_initialize_before_drivers() and rtems_initialize_device_drivers() >>> static. >> >> Is this needed or is this som

Re: [PATCH] Use linker set for system initialization

2015-12-10 Thread Sebastian Huber
On 11/12/15 06:17, Chris Johns wrote: On 12/10/15 19:14, Sebastian Huber wrote: Make rtems_initialize_data_structures(), rtems_initialize_before_drivers() and rtems_initialize_device_drivers() static. Is this needed or is this something you can now do so why not? They are not longer part of

Re: [PATCH] Use linker set for system initialization

2015-12-10 Thread Chris Johns
On 12/10/15 19:14, Sebastian Huber wrote: Make rtems_initialize_data_structures(), rtems_initialize_before_drivers() and rtems_initialize_device_drivers() static. Is this needed or is this something you can now do so why not? The only reason I ask is the trace linker needs external symbols to

Re: [PATCH] Use linker set for system initialization

2015-12-10 Thread Sebastian Huber
This patch actually changes the system initialization to use a linker set. The next step is to split up the rtems_initialize_data_structures bsp_libc_init rtems_initialize_before_drivers rtems_initialize_device_drivers bsp_postdriver_hook routines into independent parts so that only features us

[PATCH] Use linker set for system initialization

2015-12-10 Thread Sebastian Huber
Make rtems_initialize_data_structures(), rtems_initialize_before_drivers() and rtems_initialize_device_drivers() static. Rename rtems_initialize_start_multitasking() to rtems_initialize_executive() and call the registered system initialization handlers in this function. Add system initialization