Re: GSoC 2016 Interested in Tracing was Re:
Sorry, I clicked on Reply by mistake instead of Reply All. Here is an offline exchange with Chris. --- On 10/03/2016 06:39, Vivek Kukreja wrote: > Hello Chris, Isaac > I have run the modified hello world example and created a patch for it. I > cannot access your git server from my institute probably because of some > firewall issues. I will look into it. Please keep me posted about the git access. > Following is the output of diff command: > --- rtems-4.11.0-rc1master/testsuites/samples/hello/init.c 2015-12-13 > 04:22:53.0 -0800 > +++ rtems-4.11.0-rc1/testsuites/samples/hello/init.c 2016-03-09 > 10:35:51.527042759 -0800 > @@ -28,7 +28,7 @@ > ) > { > rtems_test_begin(); > - printf( "Hello World\n" ); > + printf( "Hello World- Modified by Vivek Kukreja 2016\n" ); > rtems_test_end(); > exit( 0 ); > } > The https://devel.rtems.org/wiki/GSoC/GettingStarted pages asks you to post to the lists your patch and then update the GSoC 2016 page at https://devel.rtems.org/wiki/GSoC/2016. Can you please do this? Thanks. > > I have gone through some recent archives of the IRC and i have some questions: > > 1. RTEMS trace linker uses function wrapping to instrument linked files of > app to interact with capture engine(on-target) and fetching trace data. As > Isaac has described in this archive > https://www.mail-archive.com/devel@rtems.org/msg06199.html, barectf is a tool > used for tracing user-defined data/structs. Is it required and feasible as a > GSOC project to create support for this feature? As Chris said this would > require deciding the structure of things a bit. > Also, can you throw some light on 'target integration' of the capture engine > with rtems-tld and what tasks does it entail currently? I have updated the Open Project TraceTool wiki page. Please see have a look and see if that answers your questions. > 2. LTTng and barectf support CTF generation. Its required that app/kernel > files linked using RTEMS trace linker generate either native CTF data or > trace-data that can be converted to CTF. Could you share some pointers/links > to understand the current architecture for CTF generation in RTEMS? Currently there is no CTF support in RTEMS. > I think this feature has few prerequisites yet many features will use this. > For example: live trace-reading(over TCP/IP) as Isaac suggested. Live trace is a function of the back end of the Capture Engine. The Capture Engine at it's top takes in records from generated by barectf and buffers them and at it's back end it interfaces to transports to get the data off the target. This architecture disconnects the transport from the tracing and allows different transports to be used. For example it could TCP, or UDP, JTAG, SPI, or a UART. RTEMS users have a wide range of hardware and often debug interfaces are unique because of the costs they can add to hardware. Consider a satellite, adding a whole network interface, MAC and TCP/IP stack to trace during development is silly because there is no network in space yet all the hardware would need to be provided for and at a minimum it would take valuable board space. The key role of the Capture Engine is to provide a simple API for the transport layers. This work in the Capture Engine is either partially done or needs to be done. A key function of the Capture engine is to provide concurrent buffering. This means low overhead buffering safe in an SMP context. This is harder than it appears. Keeping it separate from barectf and rtems-tld is important. > > I'm not sure how ambitious these projects are but given a chance i would like > to work on native CTF generation and live trace-reading with Isaac. Providing > support for tracing user-defined structs(like barectf) sounds interesting too > if that feature is required before CTF. > These are good GSoC tasks and we welcome your interest in the work. Chris ___ ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: Participation in GSoC 2016
Hi, I've been a little busy with my semester end exams and other things recently. But I have spent time looking into the RTEMS Priority Scheduler with Processor Affinities and the paper mentioned in the trac ticket. At this point, I have a decent understanding of the paper and its algorithm and am looking into how we may implement it in RTEMS. To this end, I am looking for help / guidance. This would be a good project. I would add a few steps to simply implementing it. + Update the scheduling simulator since it is a lot easier to test using that. It is also easier to ensure you keep the same behavior. This sounds like it would be in important part of the implementation of the paper. However, I do not know anything about the existing scheduling simulator. Any links to this and basic pointers on how I should go about extending it would be a great start. I'll incorporate this into my draft proposal as soon as I have a better idea of what needs to be done. + Propose criteria for knowing if the new algorithm is really better for RTEMS than the old one. Evaluating algorithms for RTEMS use involves big-O of the algorithm, data space requirements (and big-O of that), global knowledge required, and maybe other factors. The new algorithm is almost definitely worse in time and space than the existing algorithm. Based on a preliminary analysis, it will be able to use the existing Priority Affinity Scheduler for the most part and add a O(|E|) complexity to each thread blocking and unblocking operation. Here, E is the set of all processor affinity assignments, so it will approximately add an extra linear increase in scheduling overhead w.r.t. the number of processes that use this scheduler. I haven't specifically looked into the space requirements, but it will be worse than the existing scheduler. However, the point to realize is that after these changes, more user programs that set processor affinities will be able to meet their deadlines as compared to the existing scheduler. This should happen despite the higher scheduling overheads. + Testing on scheduling simulator and in RTEMS testsuite to ensure it is functionally identical to the current algorithm. Once again, some pointers tot he scheduling simulator would help me a lot. If the algorithm is functionally identical to the current one and superior in execution time/data requirements, then replacing it is a no brainer. If there are trade-offs on when one is better than the other in real life, then we will all have to characterize those. I was thinking more along the lines of writing a new scheduler instead of replacing the existing one. A PriorityStringAPA scheduler that pretty much reuses all the existing priority affinity scheduler code apart from the two operations. This is because, with some task sets where the affinity assignments are not too restrictive, the lower overheads of the existing scheduler may be preferred over the new one. I have also been writing my draft proposal for GSoC. A version is currently available on GDrive and a link has been put on on the student tracking page. However, I wanted to ask if sharing a PDF of the proposal would be possible. Since, I would be more comfortable in making the entire proposal in Latex and sharing the final PDF. If not, I can keep working on the proposal in Google Docs. -- Thanking You, Darshit Shah signature.asc Description: PGP signature ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: Participation in GSoC 2016
Joel might answer about the state of the scheduling simulator. I believe you eventually have to copy-paste your application into a form, so it is better if you stick to plain text. I don't even know if you can put images in. You may optionally link to a generated PDF, too. On Thu, Mar 10, 2016 at 6:13 AM, Darshit Shah wrote: > Hi, > > I've been a little busy with my semester end exams and other things > recently. But I have spent time looking into the RTEMS Priority Scheduler > with Processor Affinities and the paper mentioned in the trac ticket. > > At this point, I have a decent understanding of the paper and its algorithm > and am looking into how we may implement it in RTEMS. To this end, I am > looking for help / guidance. > >> >> This would be a good project. I would add a few steps to simply >> implementing >> it. >> >> + Update the scheduling simulator since it is a lot easier to test using >> that. >> It is also easier to ensure you keep the same behavior. >> > This sounds like it would be in important part of the implementation of the > paper. However, I do not know anything about the existing scheduling > simulator. Any links to this and basic pointers on how I should go about > extending it would be a great start. I'll incorporate this into my draft > proposal as soon as I have a better idea of what needs to be done. >> >> >> + Propose criteria for knowing if the new algorithm is really better for >> RTEMS than the old one. Evaluating algorithms for RTEMS use involves >> big-O of the algorithm, data space requirements (and big-O of that), >> global knowledge required, and maybe other factors. >> > The new algorithm is almost definitely worse in time and space than the > existing algorithm. Based on a preliminary analysis, it will be able to use > the existing Priority Affinity Scheduler for the most part and add a O(|E|) > complexity to each thread blocking and unblocking operation. Here, E is the > set of all processor affinity assignments, so it will approximately add an > extra linear increase in scheduling overhead w.r.t. the number of processes > that use this scheduler. > > I haven't specifically looked into the space requirements, but it will be > worse than the existing scheduler. > > However, the point to realize is that after these changes, more user > programs that set processor affinities will be able to meet their deadlines > as compared to the existing scheduler. This should happen despite the higher > scheduling overheads. > >> + Testing on scheduling simulator and in RTEMS testsuite to ensure >> it is functionally identical to the current algorithm. >> > Once again, some pointers tot he scheduling simulator would help me a lot. >> >> >> If the algorithm is functionally identical to the current one and superior >> in execution time/data requirements, then replacing it is a no brainer. >> If there are trade-offs on when one is better than the other in real life, >> then we will all have to characterize those. >> > I was thinking more along the lines of writing a new scheduler instead of > replacing the existing one. A PriorityStringAPA scheduler that pretty much > reuses all the existing priority affinity scheduler code apart from the two > operations. This is because, with some task sets where the affinity > assignments are not too restrictive, the lower overheads of the existing > scheduler may be preferred over the new one. > > I have also been writing my draft proposal for GSoC. A version is currently > available on GDrive and a link has been put on on the student tracking page. > However, I wanted to ask if sharing a PDF of the proposal would be possible. > Since, I would be more comfortable in making the entire proposal in Latex > and sharing the final PDF. If not, I can keep working on the proposal in > Google Docs. > > > -- > Thanking You, > Darshit Shah ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH 05/17] Add shared PCI support and enhance pc386 to support non-legacy PCI configuration space
On Wed, Mar 9, 2016 at 8:21 PM, Gedare Bloom wrote: > On Wed, Mar 9, 2016 at 5:24 PM, Joel Sherrill wrote: > > This patch fundamentally results from enhancements to the pc386 BSP > > to support systems which do **NOT** have the legacy PCI BIOS. The > > patch adds support for detecting when legacy PCI BIOS is not > > present and then using IO space to access to PCI Configuration Space. > > This resulted in dynamically selected between two implementations > > of PCI and refactoring out the shared methods. > > > > This patch adds shared implementations of pci_bus_count() and > > pci_find_device(). Subsequent patches will remove implementations > > of these methods in other BSPs where possible. > > --- > > c/src/lib/libbsp/Makefile.am | 3 + > > c/src/lib/libbsp/i386/Makefile.am | 1 + > > c/src/lib/libbsp/i386/pc386/Makefile.am| 3 + > > c/src/lib/libbsp/i386/pc386/startup/bspstart.c | 31 ++- > > c/src/lib/libbsp/i386/shared/pci/pci_io.c | 200 ++ > > c/src/lib/libbsp/i386/shared/pci/pcibios.c | 149 ++ > > c/src/lib/libbsp/shared/pci/pci_bus_count.c| 67 ++ > > c/src/lib/libbsp/shared/pci/pci_find_device.c | 274 > + > > 8 files changed, 594 insertions(+), 134 deletions(-) > > create mode 100644 c/src/lib/libbsp/i386/shared/pci/pci_io.c > > create mode 100644 c/src/lib/libbsp/shared/pci/pci_bus_count.c > > create mode 100644 c/src/lib/libbsp/shared/pci/pci_find_device.c > > > > diff --git a/c/src/lib/libbsp/Makefile.am b/c/src/lib/libbsp/Makefile.am > > index 16c276f..c54fdcb 100644 > > --- a/c/src/lib/libbsp/Makefile.am > > +++ b/c/src/lib/libbsp/Makefile.am > > @@ -29,6 +29,9 @@ EXTRA_DIST += shared/include/coverhd.h > > EXTRA_DIST += shared/gdbstub/rtems-stub-glue.c > > EXTRA_DIST += shared/include/bootcard.h > > > > +EXTRA_DIST += shared/pci/pci_bus_count.c > > +EXTRA_DIST += shared/pci/pci_find_device.c > > + > > include_bspdir = $(includedir)/bsp > > > > include_bsp_HEADERS = > > diff --git a/c/src/lib/libbsp/i386/Makefile.am > b/c/src/lib/libbsp/i386/Makefile.am > > index f10b764..3b6df65 100644 > > --- a/c/src/lib/libbsp/i386/Makefile.am > > +++ b/c/src/lib/libbsp/i386/Makefile.am > > @@ -22,6 +22,7 @@ EXTRA_DIST += shared/irq/irq_init.c > > > > # shared/pci > > EXTRA_DIST += shared/pci/pcibios.c > > +EXTRA_DIST += shared/pci/pci_io.c > > > > include $(top_srcdir)/../../../automake/subdirs.am > > include $(top_srcdir)/../../../automake/local.am > > diff --git a/c/src/lib/libbsp/i386/pc386/Makefile.am > b/c/src/lib/libbsp/i386/pc386/Makefile.am > > index a9c645b..fc73afd 100644 > > --- a/c/src/lib/libbsp/i386/pc386/Makefile.am > > +++ b/c/src/lib/libbsp/i386/pc386/Makefile.am > > @@ -141,6 +141,9 @@ libbsp_a_SOURCES += ../../shared/gnatinstallhandler.c > > > > # pci > > libbsp_a_SOURCES += ../../i386/shared/pci/pcibios.c > > +libbsp_a_SOURCES += ../../i386/shared/pci/pci_io.c > > +libbsp_a_SOURCES += ../../shared/pci/pci_bus_count.c > > +libbsp_a_SOURCES += ../../shared/pci/pci_find_device.c > > > > include_HEADERS += ../../i386/shared/comm/uart.h > > # startup > > diff --git a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c > b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c > > index ac871f0..a0bbf66 100644 > > --- a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c > > +++ b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c > > @@ -34,17 +34,40 @@ > > #include > > > > /* > > + * PCI Bus Configuration > > + */ > > +rtems_pci_config_t BSP_pci_configuration = { > > + (volatile unsigned char*)0, > > + (volatile unsigned char*)0, > > + NULL > > +}; > > + > > +const pci_config_access_functions *pci_bios_initialize(void); > > +const pci_config_access_functions *pci_io_initialize(void); > > + > > +/* > > * Helper to initialize the PCI Bus > > */ > > static void bsp_pci_initialize_helper(void) > > { > > #if (BSP_IS_EDISON == 0) > > - int pci_init_retval; > > + const pci_config_access_functions *pci_accessors; > > > > - pci_init_retval = pci_initialize(); > > - if (pci_init_retval != PCIB_ERR_SUCCESS) { > > - printk("PCI bus: could not initialize PCI BIOS interface\n"); > > + pci_accessors = pci_bios_initialize(); > > + if (pci_accessors != NULL) { > > +printk("PCI bus: using PCI BIOS interface\n"); > > +BSP_pci_configuration.pci_functions = pci_accessors; > > +return; > >} > > + > > + pci_accessors = pci_io_initialize(); > > + if (pci_accessors != NULL) { > > +printk("PCI bus: using PCI I/O interface\n"); > > +BSP_pci_configuration.pci_functions = pci_accessors; > > +return; > > + } > > + > > + printk("PCI bus: could not initialize PCI BIOS interface\n"); > > #endif > > } > > > > diff --git a/c/src/lib/libbsp/i386/shared/pci/pci_io.c > b/c/src/lib/libbsp/i386/shared/pci/pci_io.c > > new file mode 100644 > > index 000..9103b5c > > --- /dev/null > > +++ b/c/src/lib/libbsp/i386/shared/pci/pci_io.c > > @@ -0,0 +1,200 @@ > >
Re: [PATCH 12/17] libbsp/shared/console.c: Clean up memory allocation for per device data
On Wed, Mar 9, 2016 at 8:15 PM, Gedare Bloom wrote: > On Wed, Mar 9, 2016 at 5:24 PM, Joel Sherrill wrote: > > --- > > c/src/lib/libbsp/shared/console.c | 49 > --- > > 1 file changed, 36 insertions(+), 13 deletions(-) > > > > diff --git a/c/src/lib/libbsp/shared/console.c > b/c/src/lib/libbsp/shared/console.c > > index 81a70b1..d030065 100644 > > --- a/c/src/lib/libbsp/shared/console.c > > +++ b/c/src/lib/libbsp/shared/console.c > > @@ -7,7 +7,7 @@ > > */ > > > > /* > > - * COPYRIGHT (c) 1989-2011. > > + * COPYRIGHT (c) 1989-2011, 2016. > > * On-Line Applications Research Corporation (OAR). > > * > > * The license and distribution terms for this file may be > > @@ -46,13 +46,28 @@ void console_initialize_data(void) > >if ( Console_Port_Tbl ) > > return; > > > > + /* > > + * Allocate memory for the table of device pointers. > > + */ > >Console_Port_Count = Console_Configuration_Count; > >Console_Port_Tbl = malloc( Console_Port_Count * sizeof( console_tbl > * ) ); > >if (Console_Port_Tbl == NULL) > > bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_0 ); > > > > - for (i=0 ; i < Console_Port_Count ; i++) > > + /* > > + * Allocate memory for the table of device specific data pointers. > > + */ > > + Console_Port_Data = calloc( Console_Port_Count, sizeof( console_data > ) ); > why calloc ... > > Good catch. Likely already there but just wasted time. Changing to malloc(). > > + if ( Console_Port_Data == NULL ) { > > +bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_3 ); > > + } > > + > > + /* > > + * Fill in the Console Table > > + */ > > + for (i=0 ; i < Console_Port_Count ; i++) { > > Console_Port_Tbl[i] = &Console_Configuration_Ports[i]; > > + } > ... if you will immediately initialize it > > > } > > > > /* > > @@ -69,10 +84,13 @@ void console_register_devices( > >int old_number_of_ports; > >int i; > > > > + /* > > + * Initialize the console data elements > > + */ > >console_initialize_data(); > > > >/* > > - * console_initialize has been invoked so it is now too late to > > + * console_initialize() has been invoked so it is now too late to > > * register devices. > > */ > >if ( console_initialized ) { > > @@ -86,23 +104,31 @@ void console_register_devices( > >Console_Port_Count += number_of_ports; > >Console_Port_Tbl = realloc( > > Console_Port_Tbl, > > -Console_Port_Count * sizeof( console_tbl * ) > > +Console_Port_Count * sizeof(console_tbl *) > >); > >if ( Console_Port_Tbl == NULL ) { > > bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_1 ); > >} > > > > - Console_Port_Data = calloc( Console_Port_Count, sizeof( console_data > ) ); > > + /* > > + * Since we can only add devices before console_initialize(), > > + * the data area will contain no information and must be zero > > + * before it is used. So extend the area and zero it out. > > + */ > > + Console_Port_Data = realloc( > > +Console_Port_Data, > > +Console_Port_Count * sizeof(console_tbl *) > > + ); > >if ( Console_Port_Data == NULL ) { > > bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_2 ); > >} > > + memset(&Console_Port_Data, '\0', Console_Port_Count * > sizeof(console_tbl *)); > > > >/* > > * Now add the new devices at the end. > > */ > > - > >for (i=0 ; i < number_of_ports ; i++) { > > -Console_Port_Tbl[old_number_of_ports + i] = &new_ports[i]; > > +Console_Port_Tbl[old_number_of_ports + i] = &new_ports[i]; > >} > > } > > > > @@ -249,14 +275,11 @@ rtems_device_driver console_initialize( > > > >/* > > * If we have no devices which were registered earlier then we > > - * must still initialize pointers and set Console_Port_Data. > > + * must still initialize pointers for Console_Port_Tbl and > > + * Console_Port_Data. > > */ > > - if ( ! Console_Port_Tbl ) { > > + if ( !Console_Port_Tbl ) { > > console_initialize_data(); > > -Console_Port_Data = calloc( Console_Port_Count, sizeof( > console_data ) ); > > -if ( Console_Port_Data == NULL ) { > > - bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_3 ); > > -} > >} > > > >/* > > -- > > 1.8.3.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
Re: [PATCH 12/17] libbsp/shared/console.c: Clean up memory allocation for per device data
On Thu, Mar 10, 2016 at 10:35 AM, Joel Sherrill wrote: > > > On Wed, Mar 9, 2016 at 8:15 PM, Gedare Bloom wrote: > >> On Wed, Mar 9, 2016 at 5:24 PM, Joel Sherrill wrote: >> > --- >> > c/src/lib/libbsp/shared/console.c | 49 >> --- >> > 1 file changed, 36 insertions(+), 13 deletions(-) >> > >> > diff --git a/c/src/lib/libbsp/shared/console.c >> b/c/src/lib/libbsp/shared/console.c >> > index 81a70b1..d030065 100644 >> > --- a/c/src/lib/libbsp/shared/console.c >> > +++ b/c/src/lib/libbsp/shared/console.c >> > @@ -7,7 +7,7 @@ >> > */ >> > >> > /* >> > - * COPYRIGHT (c) 1989-2011. >> > + * COPYRIGHT (c) 1989-2011, 2016. >> > * On-Line Applications Research Corporation (OAR). >> > * >> > * The license and distribution terms for this file may be >> > @@ -46,13 +46,28 @@ void console_initialize_data(void) >> >if ( Console_Port_Tbl ) >> > return; >> > >> > + /* >> > + * Allocate memory for the table of device pointers. >> > + */ >> >Console_Port_Count = Console_Configuration_Count; >> >Console_Port_Tbl = malloc( Console_Port_Count * sizeof( >> console_tbl * ) ); >> >if (Console_Port_Tbl == NULL) >> > bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_0 ); >> > >> > - for (i=0 ; i < Console_Port_Count ; i++) >> > + /* >> > + * Allocate memory for the table of device specific data pointers. >> > + */ >> > + Console_Port_Data = calloc( Console_Port_Count, sizeof( >> console_data ) ); >> why calloc ... >> >> > Good catch. Likely already there but just wasted time. Changing to > malloc(). > I think we both misread it. The calloc() is for data per port. The copy is copying the per port configuration data. They are different. Notice Console_Port_Data vs Console_Port_Tbl. I think this is OK on closer look. Anything else. > > >> > + if ( Console_Port_Data == NULL ) { >> > +bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_3 ); >> > + } >> > + >> > + /* >> > + * Fill in the Console Table >> > + */ >> > + for (i=0 ; i < Console_Port_Count ; i++) { >> > Console_Port_Tbl[i] = &Console_Configuration_Ports[i]; >> > + } >> ... if you will immediately initialize it >> >> > } >> > >> > /* >> > @@ -69,10 +84,13 @@ void console_register_devices( >> >int old_number_of_ports; >> >int i; >> > >> > + /* >> > + * Initialize the console data elements >> > + */ >> >console_initialize_data(); >> > >> >/* >> > - * console_initialize has been invoked so it is now too late to >> > + * console_initialize() has been invoked so it is now too late to >> > * register devices. >> > */ >> >if ( console_initialized ) { >> > @@ -86,23 +104,31 @@ void console_register_devices( >> >Console_Port_Count += number_of_ports; >> >Console_Port_Tbl = realloc( >> > Console_Port_Tbl, >> > -Console_Port_Count * sizeof( console_tbl * ) >> > +Console_Port_Count * sizeof(console_tbl *) >> >); >> >if ( Console_Port_Tbl == NULL ) { >> > bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_1 ); >> >} >> > >> > - Console_Port_Data = calloc( Console_Port_Count, sizeof( >> console_data ) ); >> > + /* >> > + * Since we can only add devices before console_initialize(), >> > + * the data area will contain no information and must be zero >> > + * before it is used. So extend the area and zero it out. >> > + */ >> > + Console_Port_Data = realloc( >> > +Console_Port_Data, >> > +Console_Port_Count * sizeof(console_tbl *) >> > + ); >> >if ( Console_Port_Data == NULL ) { >> > bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_2 ); >> >} >> > + memset(&Console_Port_Data, '\0', Console_Port_Count * >> sizeof(console_tbl *)); >> > >> >/* >> > * Now add the new devices at the end. >> > */ >> > - >> >for (i=0 ; i < number_of_ports ; i++) { >> > -Console_Port_Tbl[old_number_of_ports + i] = &new_ports[i]; >> > +Console_Port_Tbl[old_number_of_ports + i] = &new_ports[i]; >> >} >> > } >> > >> > @@ -249,14 +275,11 @@ rtems_device_driver console_initialize( >> > >> >/* >> > * If we have no devices which were registered earlier then we >> > - * must still initialize pointers and set Console_Port_Data. >> > + * must still initialize pointers for Console_Port_Tbl and >> > + * Console_Port_Data. >> > */ >> > - if ( ! Console_Port_Tbl ) { >> > + if ( !Console_Port_Tbl ) { >> > console_initialize_data(); >> > -Console_Port_Data = calloc( Console_Port_Count, sizeof( >> console_data ) ); >> > -if ( Console_Port_Data == NULL ) { >> > - bsp_fatal( BSP_FATAL_CONSOLE_NO_MEMORY_3 ); >> > -} >> >} >> > >> >/* >> > -- >> > 1.8.3.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
Re: [PATCH] score: Add and use _Objects_Get_local()
looks ok On Mon, Mar 7, 2016 at 10:03 AM, Sebastian Huber wrote: > This simplifies the handling with local-only objects. > > Update #2555. > --- > cpukit/posix/include/rtems/posix/timerimpl.h | 4 +- > cpukit/posix/src/timerdelete.c| 36 + > cpukit/posix/src/timergetoverrun.c| 26 - > cpukit/posix/src/timergettime.c | 37 + > cpukit/posix/src/timersettime.c | 78 > --- > cpukit/rtems/include/rtems/rtems/timerimpl.h | 4 +- > cpukit/rtems/src/timercancel.c| 26 - > cpukit/rtems/src/timercreate.c| 72 +++-- > cpukit/rtems/src/timerdelete.c| 36 + > cpukit/rtems/src/timergetinfo.c | 39 +- > cpukit/rtems/src/timerreset.c | 74 + > cpukit/score/Makefile.am | 1 + > cpukit/score/include/rtems/score/objectimpl.h | 23 > cpukit/score/src/objectgetlocal.c | 52 ++ > 14 files changed, 242 insertions(+), 266 deletions(-) > create mode 100644 cpukit/score/src/objectgetlocal.c > > diff --git a/cpukit/posix/include/rtems/posix/timerimpl.h > b/cpukit/posix/include/rtems/posix/timerimpl.h > index 2eefd70..bf25629 100644 > --- a/cpukit/posix/include/rtems/posix/timerimpl.h > +++ b/cpukit/posix/include/rtems/posix/timerimpl.h > @@ -94,14 +94,12 @@ void _POSIX_Timer_TSR( Watchdog_Control *the_watchdog ); > */ > RTEMS_INLINE_ROUTINE POSIX_Timer_Control *_POSIX_Timer_Get ( >timer_tid, > - Objects_Locations *location, >ISR_lock_Context *lock_context > ) > { > - return (POSIX_Timer_Control *) _Objects_Get_isr_disable( > + return (POSIX_Timer_Control *) _Objects_Get_local( > &_POSIX_Timer_Information, > (Objects_Id) id, > -location, > lock_context >); > } > diff --git a/cpukit/posix/src/timerdelete.c b/cpukit/posix/src/timerdelete.c > index c39de8e..5301a70 100644 > --- a/cpukit/posix/src/timerdelete.c > +++ b/cpukit/posix/src/timerdelete.c > @@ -44,33 +44,25 @@ int timer_delete( >* because rtems_timer_delete stops the timer before deleting it. >*/ >POSIX_Timer_Control *ptimer; > - Objects_Locationslocation; >ISR_lock_Context lock_context; > - Per_CPU_Control *cpu; > >_Objects_Allocator_lock(); > - ptimer = _POSIX_Timer_Get( timerid, &location, &lock_context ); > - switch ( location ) { > > -case OBJECTS_LOCAL: > - _Objects_Close( &_POSIX_Timer_Information, &ptimer->Object ); > - cpu = _POSIX_Timer_Acquire_critical( ptimer, &lock_context ); > - ptimer->state = POSIX_TIMER_STATE_FREE; > - _Watchdog_Remove( > -&cpu->Watchdog.Header[ PER_CPU_WATCHDOG_RELATIVE ], > -&ptimer->Timer > - ); > - _POSIX_Timer_Release( cpu, &lock_context ); > - _POSIX_Timer_Free( ptimer ); > - _Objects_Allocator_unlock(); > + ptimer = _POSIX_Timer_Get( timerid, &lock_context ); > + if ( ptimer != NULL ) { > +Per_CPU_Control *cpu; > > - return 0; > - > -#if defined(RTEMS_MULTIPROCESSING) > -case OBJECTS_REMOTE: > -#endif > -case OBJECTS_ERROR: > - break; > +_Objects_Close( &_POSIX_Timer_Information, &ptimer->Object ); > +cpu = _POSIX_Timer_Acquire_critical( ptimer, &lock_context ); > +ptimer->state = POSIX_TIMER_STATE_FREE; > +_Watchdog_Remove( > + &cpu->Watchdog.Header[ PER_CPU_WATCHDOG_RELATIVE ], > + &ptimer->Timer > +); > +_POSIX_Timer_Release( cpu, &lock_context ); > +_POSIX_Timer_Free( ptimer ); > +_Objects_Allocator_unlock(); > +return 0; >} > >_Objects_Allocator_unlock(); > diff --git a/cpukit/posix/src/timergetoverrun.c > b/cpukit/posix/src/timergetoverrun.c > index 0a28fa7..0a7b9fa 100644 > --- a/cpukit/posix/src/timergetoverrun.c > +++ b/cpukit/posix/src/timergetoverrun.c > @@ -30,27 +30,19 @@ int timer_getoverrun( >timer_t timerid > ) > { > - int overrun; >POSIX_Timer_Control *ptimer; > - Objects_Locationslocation; >ISR_lock_Context lock_context; > - Per_CPU_Control *cpu; > > - ptimer = _POSIX_Timer_Get( timerid, &location, &lock_context ); > - switch ( location ) { > + ptimer = _POSIX_Timer_Get( timerid, &lock_context ); > + if ( ptimer != NULL ) { > +Per_CPU_Control *cpu; > +int overrun; > > -case OBJECTS_LOCAL: > - cpu = _POSIX_Timer_Acquire_critical( ptimer, &lock_context ); > - overrun = ptimer->overrun; > - ptimer->overrun = 0; > - _POSIX_Timer_Release( cpu, &lock_context ); > - return overrun; > - > -#if defined(RTEMS_MULTIPROCESSING) > -case OBJECTS_REMOTE: > -#endif > -case OBJECTS_ERROR: > - break; > +cpu = _POSIX_Timer_Acquire_critical( ptimer, &lock_context ); > +overrun = ptimer->overrun; > +ptimer->overrun = 0; > +_POSIX_Timer_Release( cpu, &lo
Re: GSOC 2016
Joel should comment on this. He has been making a recent effort at unifying the PCI implementations in the BSP layer. However, we also have the new "drvmgr" framework in cpukit/libdrvmgr that supports PCI plus a lot of other devices and busses. On Tue, Mar 8, 2016 at 12:19 PM, animesh pathak wrote: > Hi, > Thanks for informing. Another interesting idea on which I would like to work > upon, from the Ideas page is "Unified Interrupts and Devices" . In case this > project is already assigned to someone please suggest me the project which I > can pick up, and can get started with. > Regarding my skills, I have good knowledge of GNU/Linux environment, > operating system related things like Processes, CPU Scheduling, System > calls, Concurrency and Threading, Locking mechanisms, File systems etc and > also I have implemented custom syscalls in xv6 os. I have experience in > programming languages like C, C++, Python, JavaScript and have a good > algorithmic background. > > Regards > > On Tue, Mar 8, 2016 at 8:59 AM, Gedare Bloom wrote: >> >> Hi Animesh, >> >> I think the condition variables will be fixed by another developer >> (Sebastian Huber). Any other projects catch your eye? >> >> On Sat, Mar 5, 2016 at 5:31 AM, animesh pathak >> wrote: >> > Hello everyone, >> > I am Animesh Chandra Pathak. >> > I am pursuing my BTech in Computer Science at IIIT Hyderabad. >> > I am interested in working with RTEMS as a part of Google summer of code >> > 2016 project. >> > >> > I have successfully completed the Getting Started part as mentioned in >> > the >> > quick start and modified the hello world programme. Now when I am trying >> > to >> > compile the network-demos, I am getting "error: too few arguments to >> > function 'mg_start' ". How should I do to compile this ? >> > Screenshot is attached. >> > >> > I want to work on the "Implement Classic API and supercore condition >> > variables" as a part of Google summer of code project. >> > >> > what should I do before applying for Google summer of code ? >> > >> > ___ >> > 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
Re: GSOC 2016
On Thu, Mar 10, 2016 at 11:18 AM, Gedare Bloom wrote: > Joel should comment on this. He has been making a recent effort at > unifying the PCI implementations in the BSP layer. However, we also > have the new "drvmgr" framework in cpukit/libdrvmgr that supports PCI > plus a lot of other devices and busses. > Gedare.. are you thinking of libpci or both liibdrvmgr and the new libpci I didn't push on using libpci although I looked at it brief. Both are only used by SPARC BSPs at the moment but would be good to bring over to the other. I left a ticket (https://devel.rtems.org/ticket/2635) where some PowerPC BSPs couldn't immediately use my shared pci_find_device.c because I didn't promote out pci_scan(). It would be good to get that issue addressed and then start migrating BSPs to use libpci and whatever is useful from what I did cleanup up the pc386. Between the two of those, there should be a nice GSoC project and it would be appreciated. + migrate to use of libpci including enhancements as needed I do not know enough about the driver manager to know which BSPs should use it. The pc386 may be a good candidate. I think if the devices are dynamically detected on the BSP, it makes sense. But not sure. --joel > > On Tue, Mar 8, 2016 at 12:19 PM, animesh pathak > wrote: > > Hi, > > Thanks for informing. Another interesting idea on which I would like to > work > > upon, from the Ideas page is "Unified Interrupts and Devices" . In case > this > > project is already assigned to someone please suggest me the project > which I > > can pick up, and can get started with. > > Regarding my skills, I have good knowledge of GNU/Linux environment, > > operating system related things like Processes, CPU Scheduling, System > > calls, Concurrency and Threading, Locking mechanisms, File systems etc > and > > also I have implemented custom syscalls in xv6 os. I have experience in > > programming languages like C, C++, Python, JavaScript and have a good > > algorithmic background. > > > > Regards > > > > On Tue, Mar 8, 2016 at 8:59 AM, Gedare Bloom wrote: > >> > >> Hi Animesh, > >> > >> I think the condition variables will be fixed by another developer > >> (Sebastian Huber). Any other projects catch your eye? > >> > >> On Sat, Mar 5, 2016 at 5:31 AM, animesh pathak > >> wrote: > >> > Hello everyone, > >> > I am Animesh Chandra Pathak. > >> > I am pursuing my BTech in Computer Science at IIIT Hyderabad. > >> > I am interested in working with RTEMS as a part of Google summer of > code > >> > 2016 project. > >> > > >> > I have successfully completed the Getting Started part as mentioned in > >> > the > >> > quick start and modified the hello world programme. Now when I am > trying > >> > to > >> > compile the network-demos, I am getting "error: too few arguments to > >> > function 'mg_start' ". How should I do to compile this ? > >> > Screenshot is attached. > >> > > >> > I want to work on the "Implement Classic API and supercore condition > >> > variables" as a part of Google summer of code project. > >> > > >> > what should I do before applying for Google summer of code ? > >> > > >> > ___ > >> > 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 > ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: A virtio front-end driver for RTEMS
I'm glad to hear this. The path of least resistance would be to merge the driver into the pc386 BSP on rtems.git. That bsp tree is currently undergoing a lot of activity, but once you get your driver merged I would imagine it is not too hard to maintain. It would also be of interest to get instructions for using RTEMS-pc386 on KVM added to the RTEMS wiki. By merging the driver into RTEMS it will be more easily shared and can be community-maintained especially if we can eventually get the KVM version included in our planned continuous integration efforts. Gedare On Tue, Mar 8, 2016 at 5:43 AM, Jinhyun wrote: > Hi, > I am a graduate student of System Software Lab at Konkuk University > (http://sslab.konkuk.ac.kr). > We are implementing a virtio front-end network driver for RTEMS and have > published some preliminary results in ACM SIGBED Review > (http://sigbed.seas. > upenn.edu/archives/2016-01/EWiLi15_5.pdf). > The current version of our implementation runs quite stably with RTEMS-pc386 > over KVM hypervisor (linux 3.18.0). > Now we are trying to make it work over VirtualBox. > > If the RTEMS community is interested in our work, we’d like to open the > source codes and contribute to RTEMS. However, currently, we are not sure > whether our virtio driver is better to be incorporated in an RTEMS > source branch or to be managed separately through our own GitHub for > example. Please give your advice. > > with best regards, > Jin-Hyun > > > > ___ > 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
[PATCH 02/32] atsamv-testsuite.tcfg: new file]
--- c/src/lib/libbsp/arm/atsam/make/custom/atsamv-testsuite.tcfg | 6 ++ 1 file changed, 6 insertions(+) create mode 100644 c/src/lib/libbsp/arm/atsam/make/custom/atsamv-testsuite.tcfg diff --git a/c/src/lib/libbsp/arm/atsam/make/custom/atsamv-testsuite.tcfg b/c/src/lib/libbsp/arm/atsam/make/custom/atsamv-testsuite.tcfg new file mode 100644 index 000..82b8ab4 --- /dev/null +++ b/c/src/lib/libbsp/arm/atsam/make/custom/atsamv-testsuite.tcfg @@ -0,0 +1,6 @@ +# +# The ATSAMV BSP has too little memory for some tests. +# + +fileio +pppd -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 07/32] arm/realview_pbx_a9_qemu: Add per-section compilation and linking support
updates #2577. NOTE: In contrast to other BSPs, this was built with SMP enabled to ensure the _smp variant was built properly. For the realview_pbx_a9_qemu BSP variant without this option, sample executable sizes were as follows: textdata bss dec hex filename 1297761692 267238996 267370464 fefbfe0 ticker.exe 927291452 267276272 267370453 fefbfd5 minimum.exe 6244041980 266744076 267370460 fefbfdc cxx_iostream.exe 5977875936 266766716 267370439 fefbfc7 fileio.exe 470724 14336 266885392 267370452 fefbfd4 pppd.exe 2196482448 267148360 267370456 fefbfd8 capture.exe 1403981780 267228276 267370454 fefbfd6 nsecs.exe 2009722100 267167384 267370456 fefbfd8 paranoia.exe 1931881716 267175568 267370472 fefbfe8 cdtest.exe 1255121692 267243260 267370464 fefbfe0 base_sp.exe 1293921724 267239348 267370464 fefbfe0 unlimited.exe 1265641668 267242240 267370472 fefbfe8 hello.exe 2893366708 267074400 267370444 fefbfcc loopback.exe For the realview_pbx_a9_qemu BSP variant with this option, sample executable sizes were as follows: textdata bss dec hex filename 1228121684 267245960 267370456 fefbfd8 ticker.exe 613661368 267307732 267370466 fefbfe2 minimum.exe 4091001948 266959408 267370456 fefbfd8 cxx_iostream.exe 5790935928 266785444 267370465 fefbfe1 fileio.exe 435584 14084 266920804 267370472 fefbfe8 pppd.exe 2074122432 267160600 267370444 fefbfcc capture.exe 1340061772 267234668 267370446 fefbfce nsecs.exe 1937442092 267174608 267370444 fefbfcc paranoia.exe 1847961716 267183960 267370472 fefbfe8 cdtest.exe 1182881684 267250484 267370456 fefbfd8 base_sp.exe 1186361700 267250136 267370472 fefbfe8 unlimited.exe 1154881628 267253344 267370460 fefbfdc hello.exe 2682766508 267095664 267370448 fefbfd0 loopback.exe For the realview_pbx_a9_qemu_smp BSP variant without this option, sample executable sizes were as follows: textdata bss dec hex filename 1297761692 267238996 267370464 fefbfe0 ticker.exe 927291452 267276272 267370453 fefbfd5 minimum.exe 6244041980 266744076 267370460 fefbfdc cxx_iostream.exe 5977915936 266766712 267370439 fefbfc7 fileio.exe 470724 14336 266885392 267370452 fefbfd4 pppd.exe 2196482448 267148360 267370456 fefbfd8 capture.exe 1403981780 267228276 267370454 fefbfd6 nsecs.exe 2009722100 267167384 267370456 fefbfd8 paranoia.exe 1931881716 267175568 267370472 fefbfe8 cdtest.exe 1255121692 267243260 267370464 fefbfe0 base_sp.exe 1293921724 267239348 267370464 fefbfe0 unlimited.exe 1265641668 267242240 267370472 fefbfe8 hello.exe 2893366708 267074400 267370444 fefbfcc loopback.exe For the realview_pbx_a9_qemu_smp BSP variant with this option, sample executable sizes were as follows: textdata bss dec hex filename 1228121684 267245960 267370456 fefbfd8 ticker.exe 613661368 267307732 267370466 fefbfe2 minimum.exe 4091001948 266959408 267370456 fefbfd8 cxx_iostream.exe 5790975928 266785440 267370465 fefbfe1 fileio.exe 435584 14084 266920804 267370472 fefbfe8 pppd.exe 2074122432 267160600 267370444 fefbfcc capture.exe 1340061772 267234668 267370446 fefbfce nsecs.exe 1937442092 267174608 267370444 fefbfcc paranoia.exe 1847961716 267183960 267370472 fefbfe8 cdtest.exe 1182881684 267250484 267370456 fefbfd8 base_sp.exe 1186361700 267250136 267370472 fefbfe8 unlimited.exe 1154881628 267253344 267370460 fefbfdc hello.exe 2682766508 267095664 267370448 fefbfd0 loopback.exe --- .../libbsp/arm/realview-pbx-a9/make/custom/realview_pbx_a9_qemu.cfg| 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/make/custom/realview_pbx_a9_qemu.cfg b/c/src/lib/libbsp/arm/realview-pbx-a9/make/custom/realview_pbx_a9_qemu.cfg index 5b63eed..19531d3 100644 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/make/custom/realview_pbx_a9_qemu.cfg +++ b/c/src/lib/libbsp/arm/realview-pbx-a9/make/custom/realview_pbx_a9_qemu.cfg @@ -3,5 +3,8 @@ include $(RTEMS_ROOT)/make/custom/default.cfg RTEMS_CPU = arm CPU_CFLAGS = -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 +CFLAGS_OPTIMI
[PATCH 03/32] arm/lpc24xx (lpc24xx variants) Add per-section compilation and linking support.
updates #2577. For the lpc2362 BSP variant: The size of the sample executables without this option were: textdata bss dec he filename 651101820 31008 97938 17e92 ticker.exe 219061088 31712 54706d5b2 minimum.exe 783761908 30912 96 1b25c nsecs.exe 632541820 31008 96082 17752 base_sp.exe 651061844 30976 97926 17e86 unlimited.exe 755381796 31040 108374 1a756 hello.exe The size of the sample executables with this option were: textdata bss dec hex filename 610421808 31008 93858 16ea2 ticker.exe 14864 288 32512 47664ba30 minimum.exe 746321896 30912 107440 1a3b0 nsecs.exe 590701808 31008 91886 166ee base_sp.exe 600301816 31008 92854 16ab6 unlimited.exe 701221744 31072 102938 1921a hello.exe For the lpc23xx_tli800 BSP variant: The size of the sample executables without this option were: textdata bss dec hex filename 651101820 31008 97938 17e92 ticker.exe 219061088 31712 54706d5b2 minimum.exe 783761908 30912 96 1b25c nsecs.exe 632541820 31008 96082 17752 base_sp.exe 651061844 30976 97926 17e86 unlimited.exe 755381796 31040 108374 1a756 hello.exe For the lpc23xx_tli800 BSP variant: textdata bss dec hex filename 610421808 31008 93858 16ea2 ticker.exe 14864 288 32512 47664ba30 minimum.exe 746321896 30912 107440 1a3b0 nsecs.exe 590701808 31008 91886 166ee base_sp.exe 600301816 31008 92854 16ab6 unlimited.exe 701221744 31072 102938 1921a hello.exe For the lpc24xx_ea BSP variant: The size of the sample executables without this option were: textdata bss dec hex filename 644581724 3355376033619942200ffe6 ticker.exe 214021088 3359747233619962200fffa minimum.exe 5856142004 3303232033619938200ffe2 cxx_iostream.exe 3720015808 3324214433619953200fff1 fileio.exe 288766 12616 3331856033619942200ffe6 pppd.exe 1353022360 3348227233619934200ffde capture.exe 777321812 3354041633619960200fff8 nsecs.exe 1262502100 3349158433619934200ffde paranoia.exe 1369501756 3348124833619954200fff2 cdtest.exe 626021724 3355561633619942200ffe6 base_sp.exe 644621748 3355372833619938200ffe2 unlimited.exe 748901700 3354336033619950200ffee hello.exe 1769026500 3343654433619946200ffea loopback.exe The size of the sample executables with this option were: textdata bss dec hex filename 602341712 3355798433619930200ffda ticker.exe 14360 288 3360531233619960200fff8 minimum.exe 3684781976 3324950433619958200fff6 cxx_iostream.exe 3620895796 3325206433619949200ffed fileio.exe 268310 12464 916833619942200ffe6 pppd.exe 1293822340 3348822433619946200ffea capture.exe 738241800 3354432033619944200ffe8 nsecs.exe 1222502088 3349561633619954200fff2 paranoia.exe 1306941744 3348752033619958200fff6 cdtest.exe 582621712 3355996833619942200ffe6 base_sp.exe 592221720 3355900833619950200ffee unlimited.exe 693141648 3354899233619954200fff2 hello.exe 1643186400 3344921633619934200ffde loopback.exe For the lpc24xx_ncs_ram BSP variant: The size of the sample executables without this option were: textdata bss dec hex filename 646061820 8387712 8454138 80fffa ticker.exe 214021088 8431648 8454138 80fffa minimum.exe 5857662100 7866240 8454106 80ffda cxx_iostream.exe 3721585904 8076064 8454126 80ffee fileio.exe 288918 12712 8152480 8454110 80ffde pppd.exe 1354462456 8316224 8454126 80ffee capture.exe 778801908 8374336 8454124 80ffec nsecs.exe 1264022196 8325536 8454134 80fff6 paranoia.exe 1371021852 8315168 8454122 80ffea cdtest.exe 627501820 8389568 8454138 80fffa base_sp.exe 646101844 8387680 8454134 80fff6 unlimited.exe 750421796 8377280 8454118 80ffe6 hello.exe 1770466596 8270496 8454138 80fffa loopback.exe The size of the sample executables with this option were: textdata bss dec hex filename 605381808 8391776 8454122 80ffea ticker.exe 14360 288 8439488 8454136 80fff8 minimum.exe 3687822072 8083264 8454118 80ffe6 cxx_iostream.exe 3623985892 8085824 8454114 80
[PATCH 04/32] arm/lpc24xx (lpc40xx variants) Add per-section compilation and linking suppo
updates #2577. For the lpc40xx_ea_ram BSP variant without this option, sample executable sizes were as follows: textdata bss dec hex filename 638941724 3355433633619954200fff2 ticker.exe 218021088 3359705633619946200ffea minimum.exe 5498422004 3306809633619942200ffe6 cxx_iostream.exe 3919585800 3322217633619934200ffde fileio.exe 299670 12616 3330768033619966200fffe pppd.exe 1341622360 3348342433619946200ffea capture.exe 752041812 3354294433619960200fff8 nsecs.exe 1259342100 3349190433619938200ffe2 paranoia.exe 1281821748 3349001633619946200ffea cdtest.exe 619021724 3355632033619946200ffea base_sp.exe 635661748 3355462433619938200ffe2 unlimited.exe 717021692 3354656033619954200fff2 hello.exe 1807906500 3343267233619962200fffa loopback.exe For the lpc40xx_ea_ram BSP variant with this option, sample executable sizes were as follows: textdata bss dec hex filename 591541712 3355907233619938200ffe2 ticker.exe 13958 280 3360572833619966200fffe minimum.exe 3364221960 3328156833619950200ffee cxx_iostream.exe 3802225788 3323392033619930200ffda fileio.exe 277050 12464 043233619946200ffea pppd.exe 1275862340 3349001633619942200ffe6 capture.exe 707801800 3354736033619940200ffe4 nsecs.exe 1211262088 3349673633619950200ffee paranoia.exe 1214661736 3349673633619938200ffe2 cdtest.exe 570341712 3356121633619962200fffa base_sp.exe 574941712 3356073633619942200ffe6 unlimited.exe 653261640 3355299233619958200fff6 hello.exe 1668626400 3344668833619950200ffee loopback.exe For the lpc40xx_ea_rom_int BSP variant without this option, sample executable sizes were as follows: textdata bss dec hex filename 640621724 33557096336228822010b62 ticker.exe 219701088 335577043358076220066da minimum.exe 3921305800 33553064339509942060d12 fileio.exe 299838 12616 3354650433858958204a58e pppd.exe 1343302360 33556488336931782021dfa capture.exe 753721812 33557000336341842013788 nsecs.exe 1261022100 3355671233684914201fdb2 paranoia.exe 1283501748 3355709633687194202069a cdtest.exe 620701724 3355709633620890201039a base_sp.exe 637341748 33557064336225462010a12 unlimited.exe 718701692 335571283363069020129e2 hello.exe 1809586500 3355261633740074202d52a loopback.exe For the lpc40xx_ea_rom_int BSP variant with this option, sample executable sizes were as follows: textdata bss dec hex filename 593221712 3355709633618130200f8d2 ticker.exe 14126 280 3355850433572910200482e minimum.exe 3365901960 3355690433895454205341e cxx_iostream.exe 3803945788 3355306433939246205df2e fileio.exe 277218 12464 33546632338363142044d1a pppd.exe 1277542340 33556488336865822020436 capture.exe 709481800 33557000336297482012634 nsecs.exe 1212942088 3355671233680094201eade paranoia.exe 1216341736 3355709633680466201ec52 cdtest.exe 572021712 3355709633616010200f08a base_sp.exe 576621712 3355709633616470200f256 unlimited.exe 654941640 335571603362429420110e6 hello.exe 1670306400 33552712337261422029ebe loopback.exe --- c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc40xx.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc40xx.inc b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc40xx.inc index 2c921db..5460a95 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc40xx.inc +++ b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc40xx.inc @@ -9,3 +9,6 @@ RTEMS_CPU = arm CPU_CFLAGS = -mthumb -march=armv7-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mtune=cortex-m4 CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 06/32] arm/raspberrypi: Add per-section compilation and linking suppo
updates #2577. For the raspberrypi BSP variant without this option, sample executable sizes were as follows: textdata bss dec hex filename 915161724 134080496 134173736 7ff5428 ticker.exe 578091480 134114460 134173749 7ff5435 minimum.exe 8165242004 133355216 134173744 7ff5430 cxx_iostream.exe 5611325808 133606812 134173752 7ff5438 fileio.exe 444724 12624 133716388 134173736 7ff5428 pppd.exe 1933442360 133978052 134173756 7ff543c capture.exe 1096821812 134062236 134173730 7ff5422 nsecs.exe 1754082100 133996244 134173752 7ff5438 paranoia.exe 1871081756 133984880 134173744 7ff5430 cdtest.exe 885481724 134083488 134173760 7ff5440 base_sp.exe 914321748 134080552 134173732 7ff5424 unlimited.exe 1036521700 134068384 134173736 7ff5428 hello.exe 2711166508 133896112 134173736 7ff5428 loopback.exe For the raspberrypi BSP variant with this option, sample executable sizes were as follows: textdata bss dec hex filename 857961700 134086236 134173732 7ff5424 ticker.exe 344281408 134137896 134173732 7ff5424 minimum.exe 5087201972 133663044 134173736 7ff5428 cxx_iostream.exe 5445165776 133623452 134173744 7ff5430 fileio.exe 409916 12452 133751380 134173748 7ff5434 pppd.exe 1840202320 133987416 134173756 7ff543c capture.exe 1044861788 134067476 134173750 7ff5436 nsecs.exe 1685042068 134003164 134173736 7ff5428 paranoia.exe 1787401732 133993272 134173744 7ff5430 cdtest.exe 819881692 134090068 134173748 7ff5434 base_sp.exe 824601716 134089568 134173744 7ff5430 unlimited.exe 943161636 134077800 134173752 7ff5438 hello.exe 2492286388 133918144 134173760 7ff5440 loopback.exe --- c/src/lib/libbsp/arm/raspberrypi/make/custom/raspberrypi.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/arm/raspberrypi/make/custom/raspberrypi.inc b/c/src/lib/libbsp/arm/raspberrypi/make/custom/raspberrypi.inc index 3b4fb50..a8b6f26 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/make/custom/raspberrypi.inc +++ b/c/src/lib/libbsp/arm/raspberrypi/make/custom/raspberrypi.inc @@ -7,6 +7,9 @@ include $(RTEMS_ROOT)/make/custom/default.cfg RTEMS_CPU = arm CFLAGS_OPTIMIZE_V ?= -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections # This defines the operations performed on the linked executable. # is currently required. -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 10/32] arm/stm32f4: Add per-section compilation and linking support
updates #2577. For the stm32f105rc BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 614441724 63880 127048 1f048 ticker.exe 393971480 64104 104981 19a15 minimum.exe 1316362360 63240 197236 30274 capture.exe 728181812 63784 138414 21cae nsecs.exe 1235082100 63496 189104 2e2b0 paranoia.exe 1255641748 63848 191160 2eab8 cdtest.exe 594881724 63880 125092 1e8a4 base_sp.exe 611681748 63848 126764 1ef2c unlimited.exe 692161692 63912 134820 20ea4 hello.exe 1784926500 59400 244392 3baa8 loopback.exe For the stm32f105rc BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 567201700 63880 122300 1ddbc ticker.exe 237841400 64168 89352 15d08 minimum.exe 1250962328 63272 190696 2e8e8 capture.exe 684101788 63816 134014 20b7e nsecs.exe 1184802076 63528 184084 2cf14 paranoia.exe 1190121724 63880 184616 2d128 cdtest.exe 546401700 63880 120220 1d59c base_sp.exe 550801708 63880 120668 1d75c unlimited.exe 628281636 63944 128408 1f598 hello.exe 1644646388 59496 230348 383cc loopback.exe For the stm32f4 BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 614201724 129416 192560 2f030 ticker.exe 393731480 129640 170493 299fd minimum.exe 5471602004 129160 678324 a59b4 cxx_iostream.exe 3903295800 125352 521481 7f509 fileio.exe 297452 12616 118824 428892 68b5c pppd.exe 1316122360 128776 262748 4025c capture.exe 727941812 129320 203926 31c96 nsecs.exe 1234842100 129032 254616 3e298 paranoia.exe 1255401748 129384 256672 3eaa0 cdtest.exe 594641724 129416 190604 2e88c base_sp.exe 611441748 129384 192276 2ef14 unlimited.exe 691921692 129448 200332 30e8c hello.exe 1784686500 124936 309904 4ba90 loopback.exe For the stm32f4 BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 566401700 129416 187756 2dd6c ticker.exe 237041400 129704 154808 25cb8 minimum.exe 3337921956 129192 464940 7182c cxx_iostream.exe 3784695776 125384 509629 7c6bd fileio.exe 274684 12452 118952 406088 63248 pppd.exe 1250162328 128808 256152 3e898 capture.exe 683301788 129352 199470 30b2e nsecs.exe 1184002076 129064 249540 3cec4 paranoia.exe 1189321724 129416 250072 3d0d8 cdtest.exe 545601700 129416 185676 2d54c base_sp.exe 550001708 129416 186124 2d70c unlimited.exe 627481636 129480 193864 2f548 hello.exe 1643846388 125032 295804 4837c loopback.exe --- c/src/lib/libbsp/arm/stm32f4/make/custom/stm32f4.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/arm/stm32f4/make/custom/stm32f4.cfg b/c/src/lib/libbsp/arm/stm32f4/make/custom/stm32f4.cfg index 1256a52..edca4bf 100644 --- a/c/src/lib/libbsp/arm/stm32f4/make/custom/stm32f4.cfg +++ b/c/src/lib/libbsp/arm/stm32f4/make/custom/stm32f4.cfg @@ -5,3 +5,6 @@ RTEMS_CPU = arm CPU_CFLAGS = -march=armv7-m -mthumb CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 12/32] arm/xilinx_zynq: Add per-section compilation and linking support
updates #2577. For the xilinx_zynq_a9_qemu BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 1381921804 268279008 268419004 fffbfbc ticker.exe 1028851564 268314576 268419025 fffbfd1 minimum.exe 6329002092 267784004 268418996 fffbfb4 cxx_iostream.exe 6062146048 267806752 268419014 fffbfc6 fileio.exe 479152 14448 267925424 268419024 fffbfd0 pppd.exe 2280762560 268188360 268418996 fffbfb4 capture.exe 1488741892 268268260 268419026 fffbfd2 nsecs.exe 2094482212 268207368 268419028 fffbfd4 paranoia.exe 2016201828 268215560 268419008 fffbfc0 cdtest.exe 1339881804 268283212 268419004 fffbfbc base_sp.exe 1378721836 268279296 268419004 fffbfbc unlimited.exe 1350401780 268282192 268419012 fffbfc4 hello.exe 2978126820 268114384 268419016 fffbfc8 loopback.exe For the xilinx_zynq_a9_qemu BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 1381921804 268279008 268419004 fffbfbc ticker.exe 1028851564 268314576 268419025 fffbfd1 minimum.exe 6329002092 267784004 268418996 fffbfb4 cxx_iostream.exe 6062146048 267806752 268419014 fffbfc6 fileio.exe 479152 14448 267925424 268419024 fffbfd0 pppd.exe 2280762560 268188360 268418996 fffbfb4 capture.exe 1488741892 268268260 268419026 fffbfd2 nsecs.exe 2094482212 268207368 268419028 fffbfd4 paranoia.exe 2016201828 268215560 268419008 fffbfc0 cdtest.exe 1339881804 268283212 268419004 fffbfbc base_sp.exe 1378721836 268279296 268419004 fffbfbc unlimited.exe 1350401780 268282192 268419012 fffbfc4 hello.exe 2978126820 268114384 268419016 fffbfc8 loopback.exe For the xilinx_zynq_zc702 BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 712281804 1072603792 1072676824 3fefbfd8ticker.exe 480691564 1072627212 1072676845 3fefbfedminimum.exe 5637442092 1072110984 1072676820 3fefbfd4cxx_iostream.exe 4065985888 1072264352 1072676838 3fefbfe6fileio.exe 313164 12704 1072350960 1072676828 3fefbfdcpppd.exe 1395722440 1072534816 1072676828 3fefbfdccapture.exe 830261892 1072591928 1072676846 3fefbfeensecs.exe 1210602188 1072553576 1072676824 3fefbfd8paranoia.exe 1338881828 1072541112 1072676828 3fefbfdccdtest.exe 690081804 1072606012 1072676824 3fefbfd8base_sp.exe 712681836 1072603720 1072676824 3fefbfd8unlimited.exe 762601780 1072598792 1072676832 3fefbfe0hello.exe 1886726596 1072481568 1072676836 3fefbfe4loopback.exe For the xilinx_zynq_zc702 BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 651681788 1072609884 1072676840 3fefbfe8ticker.exe 301841492 1072645164 1072676840 3fefbfe8minimum.exe 3505882044 1072324204 1072676836 3fefbfe4cxx_iostream.exe 3933105872 1072277640 1072676822 3fefbfd6fileio.exe 289480 12548 1072374820 1072676848 3fefbff0pppd.exe 1317402416 1072542680 1072676836 3fefbfe4capture.exe 773061876 1072597648 1072676830 3fefbfdensecs.exe 1149322164 1072559736 1072676832 3fefbfe0paranoia.exe 1259041812 1072549128 1072676844 3fefbfeccdtest.exe 628241788 1072612228 1072676840 3fefbfe8base_sp.exe 631481796 1072611904 1072676848 3fefbff0unlimited.exe 678201724 1072607296 1072676840 3fefbfe8hello.exe 1732886484 1072497056 1072676828 3fefbfdcloopback.exe For the xilinx_zynq_zc706 BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 712281804 1069458064 1069531096 3fbfbfd8ticker.exe 480691564 1069481484 1069531117 3fbfbfedminimum.exe 5637442092 1068965256 1069531092 3fbfbfd4cxx_iostream.exe 4065985888 1069118624 1069531110 3fbfbfe6fileio.exe 313164 12704 1069205232 1069531100 3fbfbfdcpppd.exe 1395722440 1069389088
[PATCH 09/32] arm/smdk2410: Add per-section compilation and linking support
updates #2577. For the smdk2410 BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 979241980 66992576670924803ffc000 ticker.exe 382561400 67052800670924563ffbfe8 minimum.exe 8209602268 66269220670924483ffbfe0 cxx_iostream.exe 5769816056 66509440670924773ffbffd fileio.exe 455008 12872 66624576670924563ffbfe8 pppd.exe 1986962616 66891136670924483ffbfe0 capture.exe 1160962068 66974308670924723ffbff8 nsecs.exe 1818802364 66908224670924683ffbff4 paranoia.exe 1912242012 66899232670924683ffbff4 cdtest.exe 949161980 66995584670924803ffc000 base_sp.exe 981842012 66992260670924563ffbfe8 unlimited.exe 1078601956 66982656670924723ffbff8 hello.exe 2782486764 66807456670924683ffbff4 loopback.exe For the smdk2410 BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 915321820 66999104670924563ffbfe8 ticker.exe 25508 380 67066564670924523ffbfe4 minimum.exe 5122402068 66578148670924563ffbfe8 cxx_iostream.exe 5594815904 66527072670924573ffbfe9 fileio.exe 419052 12580 0836670924683ffbff4 pppd.exe 1886042440 66901408670924523ffbfe4 capture.exe 1102601908 66980288670924563ffbfe8 nsecs.exe 1736082188 66916672670924683ffbff4 paranoia.exe 1821841852 66908416670924523ffbfe4 cdtest.exe 876601812 67003008670924803ffc000 base_sp.exe 883361812 67002308670924563ffbfe8 unlimited.exe 976041740 66993120670924643ffbff0 hello.exe 2553526516 66830592670924603ffbfec loopback.exe --- c/src/lib/libbsp/arm/smdk2410/make/custom/smdk2410.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/arm/smdk2410/make/custom/smdk2410.cfg b/c/src/lib/libbsp/arm/smdk2410/make/custom/smdk2410.cfg index 874c5ad..c2b9273 100644 --- a/c/src/lib/libbsp/arm/smdk2410/make/custom/smdk2410.cfg +++ b/c/src/lib/libbsp/arm/smdk2410/make/custom/smdk2410.cfg @@ -13,3 +13,6 @@ CPU_CFLAGS = -mcpu=arm920t -DCPU_S3C2410 # optimize flag: typically -O2 CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 08/32] arm/rtl22xx: Add per-section compilation and linking support
updates #2577. For the rtl22xx BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 872231820 436320 525363 80433 ticker.exe 279151216 496224 525355 8042b minimum.exe 409638 12704 103008 525350 80426 pppd.exe 1832602456 339648 525364 80434 capture.exe 1054411908 418016 525365 80435 nsecs.exe 1682952204 354848 525347 80423 paranoia.exe 1817681852 341728 525348 80424 cdtest.exe 844191820 439136 525375 8043f base_sp.exe 863471828 437184 525359 8042f unlimited.exe 995951772 424000 525367 80437 hello.exe 2525406596 266240 525376 80440 loopback.exe For the rtl22xx BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 821411732 441472 525345 80421 ticker.exe 20545 284 504512 525341 8041d minimum.exe 379745 12484 133120 525349 80425 pppd.exe 1755922360 347392 525344 80420 capture.exe 1008511820 422688 525359 8042f nsecs.exe 1630532108 360192 525353 80429 paranoia.exe 1746921764 348896 525352 80428 cdtest.exe 791931732 48 525373 8043d base_sp.exe 787011716 444928 525345 80421 unlimited.exe 915611644 432160 525365 80435 hello.exe 2341166420 284832 525368 80438 loopback.exe For the rtl22xx_t BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 621671820 461376 525363 80433 ticker.exe 210031216 503136 525355 8042b minimum.exe 3697375896 149728 525361 80431 fileio.exe 286854 12704 225792 525350 80426 pppd.exe 1330522456 389856 525364 80434 capture.exe 754371908 448000 525345 80421 nsecs.exe 1239592204 399200 525363 80433 paranoia.exe 1346601852 388864 525376 80440 cdtest.exe 603151820 463232 525367 80437 base_sp.exe 617671828 461760 525355 8042b unlimited.exe 721911772 451392 525355 8042b hello.exe 1745886596 344192 525376 80440 loopback.exe For the rtl22xx_t BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 590211732 464608 525361 80431 ticker.exe 15757 284 509312 525353 80429 minimum.exe 3660961972 157280 525348 80424 cxx_iostream.exe 3609115808 158656 525375 8043f fileio.exe 267485 12484 245376 525345 80421 pppd.exe 1282242360 394784 525368 80438 capture.exe 726111820 450944 525375 8043f nsecs.exe 1210412108 402208 525357 8042d paranoia.exe 1294881764 394112 525364 80434 cdtest.exe 570491732 466592 525373 8043d base_sp.exe 568331716 466816 525365 80435 unlimited.exe 669211644 456800 525365 80435 hello.exe 1631046420 355840 525364 80434 loopback.exe --- c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg | 3 +++ c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg b/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg index f213d0c..8d45746 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg +++ b/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg @@ -17,3 +17,6 @@ CPU_CFLAGS = -mcpu=arm7tdmi # NOTE2: some level of -O may be actually required by inline assembler (at least # -O2 so far. CFLAGS_OPTIMIZE_V = -Os -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections diff --git a/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg b/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg index 9f26043..5cf8b662 100644 --- a/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg +++ b/c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg @@ -14,4 +14,6 @@ CPU_CFLAGS += -mthumb #CPU_CFLAGS += -mthumb-interwork -D __THUMB_INTERWORK__ -mthumb #CPU_ASFLAGS += -D __THUMB_INTERWORK__ -mthumb-interwork -# Miscellaneous additions go here +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 13/32] bfin/eZKit533: Add per-section compilation and linking support
updates #2577. For the eZKit533 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 7516016289224 86012 14ffc ticker.exe 4915613885964 56508dcbc minimum.exe 4750805708 22440 503228 7adbc fileio.exe 369432 12224 38436 420092 668fc pppd.exe 1623442284 12136 176764 2b27c capture.exe 9016817169296 101180 18b3c nsecs.exe 15284020009828 164668 2833c paranoia.exe 7416816289192 84988 14bfc base_sp.exe 765201656 13020 91196 1643c unlimited.exe 8797616009172 98748 181bc hello.exe 2227166116 16540 245372 3be7c loopback.exe For the eZKit533 BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 6840015909220 79210 1356a ticker.exe 2822012655700 351858971 minimum.exe 4581085670 22178 485956 76a44 fileio.exe 3310408892 37588 377520 5c2b0 pppd.exe 1510202214 12091 165325 285cd capture.exe 8317216789304 94154 16fca nsecs.exe 14336019589804 155122 25df2 paranoia.exe 6520815869216 76010 128ea base_sp.exe 669521606 13032 81590 13eb6 unlimited.exe 7801615389196 88750 15aae hello.exe 1953962834 16368 214598 34646 loopback.exe --- c/src/lib/libbsp/bfin/eZKit533/make/custom/eZKit533.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/bfin/eZKit533/make/custom/eZKit533.cfg b/c/src/lib/libbsp/bfin/eZKit533/make/custom/eZKit533.cfg index 4fe7d69..ada3c32 100644 --- a/c/src/lib/libbsp/bfin/eZKit533/make/custom/eZKit533.cfg +++ b/c/src/lib/libbsp/bfin/eZKit533/make/custom/eZKit533.cfg @@ -14,3 +14,6 @@ CPU_CFLAGS = # optimize flag: typically -O2 CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 00/32] Per Function Section Series
This series of patches adds per-function section linking to every BSP that it didn't obviously break. Obviously breaking was a significant reduction in the size of the C++ samples. If C++ was not supported on the target, then checking the size of other samples. There should now be no BSP custom files which do not either use per-function sections or have them disabled with a pointer to a ticket. Joel Sherrill (32): arm/lpc24xx (lpc17xx variants): Add per-section compilation and linking support. atsamv-testsuite.tcfg: new file] arm/lpc24xx (lpc24xx variants) Add per-section compilation and linking support. arm/lpc24xx (lpc40xx variants) Add per-section compilation and linking suppo arm/lpc32xx: Add per-section compilation and linking suppo arm/raspberrypi: Add per-section compilation and linking suppo arm/realview_pbx_a9_qemu: Add per-section compilation and linking support arm/rtl22xx: Add per-section compilation and linking support arm/smdk2410: Add per-section compilation and linking support arm/stm32f4: Add per-section compilation and linking support arm/tms570: Add per-section compilation and linking support arm/xilinx_zynq: Add per-section compilation and linking support bfin/eZKit533: Add per-section compilation and linking support bfin/bf537Stamp: Add per-section compilation and linking support bfin/TLL6527M: Add per-section compilation and linking support epiphany/epiphany: Add per-section compilation and linking support pc386.cfg: Add disabled per-function-sections lm32/lm32_evr: Add per-section compilation and linking support lm32/lm32_evr: Add per-section compilation and linking support m32c/m32csim: Add per-section compilation and linking support m32csim.cfg: GCC PR37665 is fixed but there is still a compiler error. Use -O0. nios2/nios2_iss: Add per-section compilation and linking support no_bsp.cfg: Add hints for CFLAGS and LDFLAGS or1k/generic_or1k: Add per-section compilation and linking support sh/gensh1: Add per-section compilation and linking support sh/gensh2: Add per-section compilation and linking support sh/gensh4: Add per-section compilation and linking support sh/simsh: Add per-section compilation and linking support powerpc/motorola_powerpc: Add per-section compilation and linking support sparc64/niagara: Add per-section compilation and linking support sparc64/usiii: Add per-section compilation and linking support v850/gdbv850sim: Add per-section compilation and linking support c/src/lib/libbsp/arm/atsam/make/custom/atsamv-testsuite.tcfg | 6 ++ c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc17xx.inc | 4 c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc | 3 +++ c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc40xx.inc | 3 +++ c/src/lib/libbsp/arm/lpc32xx/make/custom/lpc32xx.inc | 3 +++ c/src/lib/libbsp/arm/raspberrypi/make/custom/raspberrypi.inc | 3 +++ .../arm/realview-pbx-a9/make/custom/realview_pbx_a9_qemu.cfg | 3 +++ c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx.cfg | 3 +++ c/src/lib/libbsp/arm/rtl22xx/make/custom/rtl22xx_t.cfg | 4 +++- c/src/lib/libbsp/arm/smdk2410/make/custom/smdk2410.cfg | 3 +++ c/src/lib/libbsp/arm/stm32f4/make/custom/stm32f4.cfg | 3 +++ c/src/lib/libbsp/arm/tms570/make/custom/tms570ls3137.inc | 7 ++- c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq.inc | 3 +++ c/src/lib/libbsp/bfin/TLL6527M/make/custom/TLL6527M.cfg | 3 +++ c/src/lib/libbsp/bfin/bf537Stamp/make/custom/bf537Stamp.cfg | 3 +++ c/src/lib/libbsp/bfin/eZKit533/make/custom/eZKit533.cfg | 3 +++ .../epiphany/epiphany_sim/make/custom/epiphany_sim.cfg | 3 +++ c/src/lib/libbsp/i386/pc386/make/custom/pc386.cfg| 4 c/src/lib/libbsp/lm32/lm32_evr/make/custom/lm32_evr.cfg | 3 +++ c/src/lib/libbsp/lm32/milkymist/make/custom/milkymist.cfg| 3 +++ c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg| 10 +- c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg | 3 +++ c/src/lib/libbsp/no_cpu/no_bsp/make/custom/no_bsp.cfg| 6 +- .../libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg| 3 +++ .../libbsp/powerpc/motorola_powerpc/make/custom/mcp750.cfg | 5 - .../libbsp/powerpc/motorola_powerpc/make/custom/mtx603e.cfg | 5 - .../libbsp/powerpc/motorola_powerpc/make/custom/mvme2100.cfg | 5 - .../libbsp/powerpc/motorola_powerpc/make/custom/mvme2307.cfg | 7 +-- .../motorola_powerpc/make/custom/qemuprep-altivec.cfg| 5 - .../libbsp/powerpc/motorola_powerpc/make/custom/qemuprep.cfg | 5 - c/src/lib/libbsp/sh/gensh1/make/custom/gensh1.cfg| 3 +++ c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg| 4 +++- c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg| 5 - c/src/lib/libbsp/sh/shsim/make/custom/simsh1.cfg | 5 - c/src/li
[PATCH 14/32] bfin/bf537Stamp: Add per-section compilation and linking support
updates #2577. For the bf537Stamp BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 7567218849224 86780 152fc ticker.exe 4966816445964 57276dfbc minimum.exe 4749365964 22456 503356 7ae3c fileio.exe 369944 12480 38436 420860 66bfc pppd.exe 1628562540 12136 177532 2b57c capture.exe 9069619729280 101948 18e3c nsecs.exe 15335222569828 165436 2863c paranoia.exe 7468018849192 85756 14efc base_sp.exe 770481912 13068 92028 1677c unlimited.exe 8850418569220 99580 184fc hello.exe 2232286372 16540 246140 3c17c loopback.exe For the bf537Stamp BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 6852418469224 79594 136ea ticker.exe 2834815215700 355698af1 minimum.exe 4582325926 22182 486340 76bc4 fileio.exe 3311649148 37592 377904 5c430 pppd.exe 1511442470 12095 165709 2874d capture.exe 8329619349308 94538 1714a nsecs.exe 14348422149808 155506 25f72 paranoia.exe 6533218429156 76330 12a2a base_sp.exe 670801862 13032 81974 14036 unlimited.exe 7814417949196 89134 15c2e hello.exe 1955203090 16372 214982 347c6 loopback.exe --- c/src/lib/libbsp/bfin/bf537Stamp/make/custom/bf537Stamp.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/bfin/bf537Stamp/make/custom/bf537Stamp.cfg b/c/src/lib/libbsp/bfin/bf537Stamp/make/custom/bf537Stamp.cfg index daa6a55..d533ca4 100644 --- a/c/src/lib/libbsp/bfin/bf537Stamp/make/custom/bf537Stamp.cfg +++ b/c/src/lib/libbsp/bfin/bf537Stamp/make/custom/bf537Stamp.cfg @@ -14,3 +14,6 @@ CPU_CFLAGS = # optimize flag: typically -O2 # gcc-4.2.0 segfaults on -OX > -O0 CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 16/32] epiphany/epiphany: Add per-section compilation and linking support
For the epiphany_sim BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 1987281792 16576900167774201cc ticker.exe 741361148 16702144167774281d4 minimum.exe 8394807892 15930052167774241d0 cxx_iostream.exe 9576406160 15813636167774361dc fileio.exe 3329042644 16441920167774681fc capture.exe 2141761892 16561344167774121c4 nsecs.exe 2911122208 16484100167774201cc paranoia.exe 3120962208 16463108167774121c4 cdtest.exe 1908881792 16584772167774521ec base_sp.exe 1963361824 16579268167774281d4 unlimited.exe 1953441768 16580356167774681fc hello.exe For the epiphany_sim BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 1877841752 16587908167774441e4 ticker.exe 51560 292 16725568167774201cc minimum.exe 5810403920 16192452167774121c4 cxx_iostream.exe 9307366112 15840580167774281d4 fileio.exe 3124482564 16462400167774121c4 capture.exe 2044241852 16571136167774121c4 nsecs.exe 2782482160 16497028167774361dc paranoia.exe 2964882088 16478852167774281d4 cdtest.exe 1780241752 16597636167774121c4 base_sp.exe 1829521784 16592708167774441e4 unlimited.exe 1816881728 16594052167774681fc hello.exe --- c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg b/c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg index 9eea2a0..1fef608 100644 --- a/c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg +++ b/c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg @@ -5,3 +5,6 @@ RTEMS_CPU = epiphany CPU_CFLAGS = CFLAGS_OPTIMIZE_V ?= -O0 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 11/32] arm/tms570: Add per-section compilation and linking support
updates #2577. For the tms570ls3137_hdk BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 637601708 260224 325692 4f83c ticker.exe 401971452 260480 302129 49c31 minimum.exe 5573761972 26 819348 c8094 cxx_iostream.exe 4002695792 256192 662253 a1aed fileio.exe 304684 12608 249632 566924 8a68c pppd.exe 1327442344 259616 394704 605d0 capture.exe 755781796 260160 337534 5267e nsecs.exe 1138442084 259872 375800 5bbf8 paranoia.exe 1266881732 260224 388644 5ee24 cdtest.exe 614801708 260224 323412 4ef54 base_sp.exe 632201716 260224 325160 4f628 unlimited.exe 684201668 260288 330376 50a88 hello.exe 1811446492 255744 443380 6c3f4 loopback.exe For the tms570ls3137_hdk BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 598241696 260256 321776 4e8f0 ticker.exe 242681372 260576 286216 45e08 minimum.exe 3466121936 260032 608580 94944 cxx_iostream.exe 3889735780 256192 650945 9eec1 fileio.exe 283096 12456 249760 545312 85220 pppd.exe 1270162324 259648 388988 5ef7c capture.exe 719661784 260160 333910 51856 nsecs.exe 1099042072 259872 371848 5ac88 paranoia.exe 1208161720 260224 382760 5d728 cdtest.exe 574161696 260256 319368 4df88 base_sp.exe 581881688 260256 320132 4e284 unlimited.exe 630641616 260320 325000 4f588 hello.exe 1678846392 255840 430116 69024 loopback.exe For the tms570ls3137_hdk_intram BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 637601708 196384 261852 3fedc ticker.exe 401971452 220192 261841 3fed1 minimum.exe 1327442344 126752 261840 3fed0 capture.exe 755781796 184484 261858 3fee2 nsecs.exe 1138442084 145920 261848 3fed8 paranoia.exe 1266881732 133440 261860 3fee4 cdtest.exe 614801708 198656 261844 3fed4 base_sp.exe 632201716 196900 261836 3fecc unlimited.exe 684201668 191744 261832 3fec8 hello.exe For the tms570ls3137_hdk_intram BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 598241696 200320 261840 3fed0 ticker.exe 242681372 236196 261836 3fecc minimum.exe 1270162324 132512 261852 3fedc capture.exe 719661784 188096 261846 3fed6 nsecs.exe 1099042072 149856 261832 3fec8 paranoia.exe 1208161720 139296 261832 3fec8 cdtest.exe 574161696 202720 261832 3fec8 base_sp.exe 581881688 201956 261832 3fec8 unlimited.exe 630641616 197152 261832 3fec8 hello.exe For the tms570ls3137_hdk_sdram BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 637601708 8323104 8388572 7fffdc ticker.exe 401971452 8346912 8388561 7fffd1 minimum.exe 5573761972 7829220 8388568 7fffd8 cxx_iostream.exe 4002755792 7982500 8388567 7fffd7 fileio.exe 304684 12608 8071264 8388556 7fffcc pppd.exe 1327442344 8253472 8388560 7fffd0 capture.exe 755781796 8311204 8388578 7fffe2 nsecs.exe 1138442084 8272640 8388568 7fffd8 paranoia.exe 1266881732 8260160 8388580 7fffe4 cdtest.exe 614801708 8325376 8388564 7fffd4 base_sp.exe 632201716 8323620 8388556 7fffcc unlimited.exe 684201668 8318464 8388552 7fffc8 hello.exe 1811446492 8200928 8388564 7fffd4 loopback.exe For the tms570ls3137_hdk_sdram BSP variant with this option, sample executables sizes were as follows: textdata bss dec hex filename 598241696 8327040 8388560 7fffd0 ticker.exe 242681372 8362916 8388556 7fffcc minimum.exe 3466121936 8040004 8388552 7fffc8 cxx_iostream.exe 3889795780 7993796 8388555 7fffcb fileio.exe 283096 12456 8092996 8388548 7fffc4 pppd.exe 1270162324 8259232 8388572 7fffdc capture.exe 719661784 8314816 8388566 7fffd6 nsecs.exe 1099042072 8276576 8388552 7fffc8 paranoia.exe 1208161720 8266016 8388552 7fffc8 cdtest.exe 574161696 8329440 8388552 7fffc8 base_sp.exe 581881688 8328676 8388552 7fffc8 unlimited.exe 630641616 8323872 8388552 7fffc8 hello.exe 1678846392 8214272 8388548 7fffc4 loopback.exe For the tms570ls3137_hdk_with_loader BSP variant without this option, sample executables sizes were as follows: textdata bss dec hex filename 637601708 260224 325692 4f83c ticker.exe 401971452 260480 302129 49c31 minimum.exe 5573761972 26 819348 c8094 cxx_iostream.
[PATCH 15/32] bfin/TLL6527M: Add per-section compilation and linking support
updates #2577. For the TLL6527M BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 746961660 71544 147900 241bc ticker.exe 487561420 68348 118524 1cefc minimum.exe 4745205740 84792 565052 89f3c fileio.exe 368744 12256 100788 481788 759fc pppd.exe 1618482316 74488 238652 3a43c capture.exe 897041748 71680 163132 27d3c nsecs.exe 1523762032 72148 226556 374fc paranoia.exe 737041660 71512 146876 23dbc base_sp.exe 761201688 75404 153212 2567c unlimited.exe 875761632 71556 160764 273fc hello.exe 2221726148 78876 307196 4affc loopback.exe For the TLL6527M BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 687601622 71552 141934 22a6e ticker.exe 283321265 68048 97645 17d6d minimum.exe 4584005702 84514 548616 85f08 fileio.exe 3311968924 99932 440052 6b6f4 pppd.exe 1513562246 74447 228049 37ad1 capture.exe 835281710 71640 156878 264ce nsecs.exe 1437241990 72132 217846 352f6 paranoia.exe 655721618 71544 138734 21dee base_sp.exe 673681638 75372 144378 233fa unlimited.exe 784441570 71524 151538 24ff2 hello.exe 1956802866 78712 277258 43b0a loopback.exe --- c/src/lib/libbsp/bfin/TLL6527M/make/custom/TLL6527M.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/bfin/TLL6527M/make/custom/TLL6527M.cfg b/c/src/lib/libbsp/bfin/TLL6527M/make/custom/TLL6527M.cfg index a7cef14..56aaecb 100644 --- a/c/src/lib/libbsp/bfin/TLL6527M/make/custom/TLL6527M.cfg +++ b/c/src/lib/libbsp/bfin/TLL6527M/make/custom/TLL6527M.cfg @@ -15,3 +15,6 @@ CPU_CFLAGS =-mcpu=bf527 # optimize flag: typically -O2 # gcc-4.2.0 segfaults on -OX > -O0 CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 05/32] arm/lpc32xx: Add per-section compilation and linking suppo
updates #2577. For the lpc32xx_mzx BSP variant without this option, sample executable sizes were as follows: textdata bss dec hex filename 599201740 3373440833796068203afe4 ticker.exe 246921088 3377030433796084203aff4 minimum.exe 5927962148 3320113633796080203aff0 cxx_iostream.exe 4140565952 3337607633796084203aff4 fileio.exe 326320 12768 3345698833796076203afec pppd.exe 1467282504 3364684033796072203afe8 capture.exe 770641952 3371707233796088203aff8 nsecs.exe 1371722244 3365667633796092203affc paranoia.exe 1386001896 3365557633796072203afe8 cdtest.exe 581281740 3373620033796068203afe4 base_sp.exe 623241764 3373200433796092203affc unlimited.exe 807961844 3371343633796076203afec hello.exe 1965206652 3359290433796076203afec loopback.exe For the lpc32xx_mzx BSP variant with this option, sample executable sizes were as follows: textdata bss dec hex filename 537811728 3374057633796085203aff5 ticker.exe 14988 288 3378080833796084203aff4 minimum.exe 3735522120 3342041233796084203aff4 cxx_iostream.exe 4002085940 3338992433796072203afe8 fileio.exe 301008 12616 3348244033796064203afe0 pppd.exe 1389442484 3365465633796084203aff4 capture.exe 715881940 3372254833796076203afec nsecs.exe 1310682232 3366278033796080203aff0 paranoia.exe 1308001884 3366340833796092203affc cdtest.exe 521321728 3374222833796088203aff8 base_sp.exe 553681736 3373896033796064203afe0 unlimited.exe 735641792 3372073233796088203aff8 hello.exe 1809846552 3360854433796080203aff0 loopback.exe For the lpc32xx_mzx_stage_1 BSP variant without this option, sample executable sizes were as follows: textdata bss dec hex filename 513481740 192640 245728 3bfe0 ticker.exe 206081088 224032 245728 3bfe0 minimum.exe 1324402504 110784 245728 3bfe0 capture.exe 685641952 175232 245748 3bff4 nsecs.exe 1241962244 119296 245736 3bfe8 paranoia.exe 1293721896 114464 245732 3bfe4 cdtest.exe 497801740 194208 245728 3bfe0 base_sp.exe 535881764 190400 245752 3bff8 unlimited.exe 730841844 170816 245744 3bff0 hello.exe 1729206644 66176 245740 3bfec loopback.exe For the lpc32xx_mzx_stage_1 BSP variant with this option, sample executable sizes were as follows: textdata bss dec hex filename 469281728 197088 245744 3bff0 ticker.exe 13562 288 231904 245754 3bffa minimum.exe 1266562484 116608 245748 3bff4 capture.exe 647041940 179104 245748 3bff4 nsecs.exe 1202762232 123232 245740 3bfec paranoia.exe 1231881884 120672 245744 3bff0 cdtest.exe 455121728 198496 245736 3bfe8 base_sp.exe 484961736 195520 245752 3bff8 unlimited.exe 677001792 176256 245748 3bff4 hello.exe 1604566544 78752 245752 3bff8 loopback.exe For the lpc32xx_mzx_stage_2 BSP variant without this option, sample executable sizes were as follows: textdata bss dec hex filename 599201740 4378400 4440060 43bffc ticker.exe 246921088 4414272 4440052 43bff4 minimum.exe 5927962148 3845088 4440032 43bfe0 cxx_iostream.exe 4140645952 4020032 4440048 43bff0 fileio.exe 326320 12768 4100960 4440048 43bff0 pppd.exe 1467282504 4290816 4440048 43bff0 capture.exe 770641952 4361024 4440040 43bfe8 nsecs.exe 1371722244 4300640 4440056 43bff8 paranoia.exe 1386001896 4299552 4440048 43bff0 cdtest.exe 581281740 4380192 4440060 43bffc base_sp.exe 623241764 4375968 4440056 43bff8 unlimited.exe 807961844 4357408 4440048 43bff0 hello.exe 1965206652 4236864 4440036 43bfe4 loopback.exe For the lpc32xx_mzx_stage_2 BSP variant with this option, sample executable sizes were as follows: textdata bss dec hex filename 537811728 4384544 4440053 43bff5 ticker.exe 14988 288 4424768 4440044 43bfec minimum.exe 3735522120 4064384 4440056 43bff8 cxx_iostream.exe 4002165940 4033888 4440044 43bfec fileio.exe 301008 12616 4126432 4440056 43bff8 pppd.exe 1389442484 4298624 4440052 43bff4 capture.exe 715881940 4366528 4440056 43bff8 nsecs.exe 1310682232 4306752 4440052 43bff4 paranoia.exe 1308001884 4307360 4440044 43bfec cdtest.exe 521321728 4386176 4440036 43bfe4 base_sp.exe
[PATCH 01/32] arm/lpc24xx (lpc17xx variants): Add per-section compilation and linking support.
updates #2577. For the lpc17xx_ea_ram BSP variant: The size of the sample executables without this option were: textdata bss dec hex filename 63646 1724 3355459233619962200fffa ticker.exe 21634 1088 3359721633619938200ffe2 minimum.exe 549386 2004 3306854433619934200ffde cxx_iostream.exe 392562 5800 3322160033619962200fffa fileio.exe 299662 12616 3330768033619958200fff6 pppd.exe 133838 2360 3348374433619942200ffe6 capture.exe 75020 1812 3354310433619936200ffe0 nsecs.exe 125706 2100 3349216033619966200fffe paranoia.exe 127758 1748 3349043233619938200ffe2 cdtest.exe 61686 1724 3355654433619954200fff2 base_sp.exe 63370 1748 3355484833619966200fffe unlimited.exe 71414 1692 3354684833619954200fff2 hello.exe 180698 6500 3343276833619966200fffe loopback.exe The size of the sample executables with this option enabled were: textdata bss dec hex filename 589821712 3355926433619958200fff6 ticker.exe 13818 280 3360585633619954200fff2 minimum.exe 3361341960 3328185633619950200ffee cxx_iostream.exe 3808105788 3323334433619942200ffe6 fileio.exe 277010 12464 046433619938200ffe2 pppd.exe 1273582340 3349024033619938200ffe2 capture.exe 706721800 3354748833619960200fff8 nsecs.exe 1207462088 3349712033619954200fff2 paranoia.exe 1212821736 3349692833619946200ffea cdtest.exe 569021712 3356134433619958200fff6 base_sp.exe 573461712 3356089633619954200fff2 unlimited.exe 650781640 3355321633619934200ffde hello.exe 1667306400 3344681633619946200ffea loopback.exe For the lpc17xx_ea_rom_int BSP variant: The size of the sample executables without this option enabled were: textdata bss dec hex filename 638141724 33557096336226342010a6a ticker.exe 218021088 33557704335805942006632 minimum.exe 3927345800 33553064339515982060f6e fileio.exe 299830 12616 3354650433858950204a586 pppd.exe 1340062360 33556488336928542021cb6 capture.exe 751881812 335570003363400020136d0 nsecs.exe 1258742100 3355671233684686201fcce paranoia.exe 1279261748 335570963368677020204f2 cdtest.exe 618541724 335570963362067420102c2 base_sp.exe 635381748 3355706433622350201094e unlimited.exe 715821692 335571283363040220128c2 hello.exe 1808666500 3355261633739982202d4ce loopback.exe The size of the sample executables with this option enabled were: textdata bss dec hex filename 591501712 3355709633617958200f826 ticker.exe 13986 280 335585043357277020047a2 minimum.exe 3363021960 335569043389516620532fe cxx_iostream.exe 3809825788 3355306433939834205e17a fileio.exe 277178 12464 33546632338362742044cf2 pppd.exe 1275262340 33556488336863542020352 capture.exe 708401800 335570003362964020125c8 nsecs.exe 1209142088 3355671233679714201e962 paranoia.exe 1214501736 3355709633680282201eb9a cdtest.exe 570701712 3355709633615878200f006 base_sp.exe 575141712 3355709633616322200f1c2 unlimited.exe 652461640 33557160336240462010fee hello.exe 1668986400 33552712337260102029e3a loopback.exe For the lpc17xx_plx800_ram BSP variant: The size of the sample executables without this option enabled were: textdata bss dec hex filename 638021820 3355433633619958200fff6 ticker.exe 216301088 3359721633619934200ffde minimum.exe 5495342100 3306832033619954200fff2 cxx_iostream.exe 3927225896 3322134433619962200fffa fileio.exe 299802 12712 3330742433619938200ffe2 pppd.exe 1340022456 3348348833619946200ffea capture.exe 751761908 3354284833619932200ffdc nsecs.exe 1258622196 3349190433619962200fffa paranoia.exe 1279221844 3349017633619942200ffe6 cdtest.exe 618501820 3355628833619958200fff6 base_sp.exe 635181844 3355459233619954200fff2 unlimited.exe 71562
[PATCH 31/32] sparc64/usiii: Add per-section compilation and linking support
updates #2577. For the usiii BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 1806082752 2113472 2296832 230c00 ticker.exe 1141121760 2105312 2221184 21e480 minimum.exe 10413923168 2126160 3170720 3061a0 cxx_iostream.exe 7122248912 2129200 2850336 2b7e20 fileio.exe 595248 21568 2147872 2764688 2a2f90 pppd.exe 2914883912 2117440 2412840 24d128 capture.exe 2004962888 2113616 2317000 235ac8 nsecs.exe 2793443392 2114112 2396848 2492b0 paranoia.exe 3246562768 2115328 2442752 254600 cdtest.exe 1786242752 2113440 2294816 230420 base_sp.exe 1791522752 2117216 2299120 2314f0 unlimited.exe 1909442688 2113424 2307056 2333f0 hello.exe 381296 10752 2126400 2518448 266db0 loopback.exe For the usiii BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 1733122632 2113184 2289128 22ede8 ticker.exe 102432 328 2100928 2203688 21a028 minimum.exe 6265443032 2120400 2749976 29f618 cxx_iostream.exe 6575848792 2128640 2795016 2aa608 fileio.exe 555616 21264 2146816 2723696 298f70 pppd.exe 2800163760 2117152 2400928 24a2a0 capture.exe 1937922768 2113312 2309872 233ef0 nsecs.exe 2385283264 2113808 2355600 23f190 paranoia.exe 2775682664 2115040 2395272 248c88 cdtest.exe 1705922624 2113152 2286368 22e320 base_sp.exe 1691202616 2112816 2284552 22dc08 unlimited.exe 1805282536 2109040 2292104 22f988 hello.exe 354992 10528 2126016 2491536 260490 loopback.exe --- c/src/lib/libbsp/sparc64/usiii/make/custom/usiii.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/sparc64/usiii/make/custom/usiii.cfg b/c/src/lib/libbsp/sparc64/usiii/make/custom/usiii.cfg index 66ab315..740e5b6 100644 --- a/c/src/lib/libbsp/sparc64/usiii/make/custom/usiii.cfg +++ b/c/src/lib/libbsp/sparc64/usiii/make/custom/usiii.cfg @@ -15,3 +15,6 @@ CPU_CFLAGS = -mcpu=ultrasparc3 -DUS3 -DSUN4U # optimize flag: typically -g -O2 CFLAGS_OPTIMIZE_V = -g -O2 +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 25/32] sh/gensh1: Add per-section compilation and linking support
updates #2577. For the gensh1 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 6358676266788 78000 130b0 ticker.exe 2504231702872 31084796c minimum.exe 337626 47818 36260 421704 66f48 pppd.exe 141298 201149684 171096 29c58 capture.exe 7673880386865 91641 165f9 nsecs.exe 130658 185227356 156536 26378 paranoia.exe 144274 228747844 174992 2ab90 cdtest.exe 6080268106756 74368 12280 base_sp.exe 631387046 10580 80764 13b7c unlimited.exe 7707454026748 89224 15c88 hello.exe 201686 19922 14084 235692 398ac loopback.exe For the gensh1 BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 5929870546760 73112 11d98 ticker.exe 1349015021844 1683641c4 minimum.exe 298274 40526 35440 374240 5b5e0 pppd.exe 133634 192789664 162576 27b10 capture.exe 7310674466841 87393 15561 nsecs.exe 124562 179267320 149808 24930 paranoia.exe 138738 120267820 158584 26b78 cdtest.exe 5521862346732 68184 10a58 base_sp.exe 5347454229524 68420 10b44 unlimited.exe 6689837665688 76352 12a40 hello.exe 179362 14206 13924 207492 32a84 loopback.exe --- c/src/lib/libbsp/sh/gensh1/make/custom/gensh1.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/sh/gensh1/make/custom/gensh1.cfg b/c/src/lib/libbsp/sh/gensh1/make/custom/gensh1.cfg index 4f80115..fb066ed 100644 --- a/c/src/lib/libbsp/sh/gensh1/make/custom/gensh1.cfg +++ b/c/src/lib/libbsp/sh/gensh1/make/custom/gensh1.cfg @@ -18,3 +18,6 @@ CPU_CFLAGS = -m1 # optimize flag: typically -O2 CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 20/32] m32c/m32csim: Add per-section compilation and linking support
updates #2577. For the m32csim BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 14314811184664 148930 245c2 ticker.exe 55140 584 876 56600dd18 minimum.exe 26863818046598 277040 43a30 capture.exe 16122611844712 167122 28cd2 nsecs.exe 38950015185176 396194 60ba2 paranoia.exe 13525611184638 141012 226d4 base_sp.exe 13972811466482 147356 23f9c unlimited.exe 16550010924638 171230 29cde hello.exe For the m32csim BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 13758610964526 143208 22f68 ticker.exe 31136 454 738 323287e48 minimum.exe 25254017646458 260762 3fa9a capture.exe 15571611624570 161448 276a8 nsecs.exe 37860614925038 385136 5e070 paranoia.exe 12452610924500 130118 1fc46 base_sp.exe 12874611206344 136210 21412 unlimited.exe 15427810664500 159844 27064 hello.exe --- c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg b/c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg index cee695d..491f000 100644 --- a/c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg +++ b/c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg @@ -15,3 +15,6 @@ CPU_CFLAGS = -mcpu=m32cm # see GCC PR37665 #CFLAGS_OPTIMIZE_V = -Os -g CFLAGS_OPTIMIZE_V = -O0 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 24/32] or1k/generic_or1k: Add per-section compilation and linking support
updates #2577. For the generic_or1k BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 2550441780 33297600335544241f8 ticker.exe 1884841496 33364448335544281fc minimum.exe 829728 77432 32647264335544241f8 cxx_iostream.exe 11105886112 32437728335544281fc fileio.exe 881676 14420 32658304335544001e0 pppd.exe 4282002556 33123648335544041e4 capture.exe 2740121868 33278528335544081e8 nsecs.exe 3980842184 33154144335544121ec paranoia.exe 3873487420 33159648335544161f0 cdtest.exe 2477521780 33304896335544281fc base_sp.exe 2538881808 33298720335544161f0 unlimited.exe 2617921752 33290880335544241f8 hello.exe 5696126792 32978016335544201f4 loopback.exe For the generic_or1k BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 2298041760 33314592335461561ffdfac ticker.exe 1187441424 33425984335461521ffdfa8 minimum.exe 607344 29188 32909632335461641ffdfb4 cxx_iostream.exe 10641246088 32475936335461481ffdfa4 fileio.exe 801832 14156 32730176335461641ffdfb4 pppd.exe 3929082508 33150752335461681ffdfb8 capture.exe 2499321848 33294368335461481ffdfa4 nsecs.exe 3723202164 33171680335461641ffdfb4 paranoia.exe 3611486980 33178016335461441ffdfa0 cdtest.exe 2220041760 33322400335461641ffdfb4 base_sp.exe 2228121772 33321568335461521ffdfa8 unlimited.exe 2297641704 33314688335461561ffdfac hello.exe 5155726576 33024000335461481ffdfa4 loopback.exe --- c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg b/c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg index fff00ae..9a00643 100644 --- a/c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg +++ b/c/src/lib/libbsp/or1k/generic_or1k/make/custom/generic_or1k.cfg @@ -5,3 +5,6 @@ RTEMS_CPU = or1k CPU_CFLAGS = -O2 CFLAGS_OPTIMIZE_V ?= -O0 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 30/32] sparc64/niagara: Add per-section compilation and linking support
updates #2577. For the niagara BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 1436162704 2113472 2259792 227b50 ticker.exe 718721720 2105312 2178904 213f58 minimum.exe 9836003128 2126160 3112888 2f7fb8 cxx_iostream.exe 6484488864 2129200 2786512 2a84d0 fileio.exe 548976 21520 2147872 2718368 297aa0 pppd.exe 2533443872 2117440 2374656 243c00 capture.exe 1615202840 2113616 2277976 22c258 nsecs.exe 2155683344 2114112 2333024 239960 paranoia.exe 2617442728 2115328 2379800 245018 cdtest.exe 1396482704 2113440 2255792 226bb0 base_sp.exe 1424162712 2117216 2262344 228548 unlimited.exe 1504642648 2113424 2266536 2295a8 hello.exe 343504 10704 2126400 2480608 25d9e0 loopback.exe For the niagara BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 1334082624 2113184 2249216 225200 ticker.exe 57152 320 2100928 2158400 20ef40 minimum.exe 5901603024 2120400 2713584 2967f0 cxx_iostream.exe 6235688784 2128640 2760992 2a2120 fileio.exe 503616 21256 2146816 2671688 28c448 pppd.exe 2391523752 2117152 2360056 2402f8 capture.exe 1521282760 2113312 2268200 229c28 nsecs.exe 2038083256 2113808 2320872 2369e8 paranoia.exe 2441282656 2115040 2361824 2409e0 cdtest.exe 1286722616 2113152 220 223f58 base_sp.exe 1294082608 2112816 2244832 2240e0 unlimited.exe 1370402528 2109040 2248608 224fa0 hello.exe 314256 10520 2126016 2450792 256568 loopback.exe --- c/src/lib/libbsp/sparc64/niagara/make/custom/niagara.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/sparc64/niagara/make/custom/niagara.cfg b/c/src/lib/libbsp/sparc64/niagara/make/custom/niagara.cfg index 187e1fa..1178993 100644 --- a/c/src/lib/libbsp/sparc64/niagara/make/custom/niagara.cfg +++ b/c/src/lib/libbsp/sparc64/niagara/make/custom/niagara.cfg @@ -15,3 +15,6 @@ CPU_CFLAGS = -mcpu=niagara -DSUN4V # optimize flag: typically -g -O2 CFLAGS_OPTIMIZE_V = -g -O2 +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 19/32] lm32/lm32_evr: Add per-section compilation and linking support
updates #2577. For the milkymist BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 1011609044 1 123537 1e291 ticker.exe 3088826769169 42733a6ed minimum.exe 592200 90020 26557 708777 ad0a9 fileio.exe 456048 64528 42565 563141 897c5 pppd.exe 203752 25404 16241 245397 3be95 capture.exe 118216 10704 13437 142357 22c15 nsecs.exe 197848 22468 13981 234297 39339 paranoia.exe 974968760 13301 119557 1d305 base_sp.exe 1003929120 17141 126653 1eebd unlimited.exe 1210327720 13309 142061 22aed hello.exe 289340 28120 20653 338113 528c1 loopback.exe For the milkymist BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 934648748 1 115545 1c359 ticker.exe 1714413089133 275856bc1 minimum.exe 574024 87296 26301 687621 a7e05 fileio.exe 415668 60652 41837 518157 7e80d pppd.exe 190920 24712 16233 231865 389b9 capture.exe 111800 10404 13405 135609 211b9 nsecs.exe 187272 22064 13949 223285 36835 paranoia.exe 876568440 13301 109397 1ab55 base_sp.exe 890488736 17149 114933 1c0f5 unlimited.exe 107316 13309 129513 1f9e9 hello.exe 262820 26764 20557 310141 4bb7d loopback.exe --- c/src/lib/libbsp/lm32/milkymist/make/custom/milkymist.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/lm32/milkymist/make/custom/milkymist.cfg b/c/src/lib/libbsp/lm32/milkymist/make/custom/milkymist.cfg index ae691eb..97fcb9e 100644 --- a/c/src/lib/libbsp/lm32/milkymist/make/custom/milkymist.cfg +++ b/c/src/lib/libbsp/lm32/milkymist/make/custom/milkymist.cfg @@ -19,6 +19,9 @@ CPU_CFLAGS = -mbarrel-shift-enabled -mmultiply-enabled \ # optimize flag: typically -O2 CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections define bsp-post-link $(OBJCOPY) -O binary --strip-all $(basename $@)$(EXEEXT) \ -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 16/32] epiphany/epiphany_sim: Add per-section compilation and linking support
updates #2577. For the epiphany_sim BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 1987281792 16576900167774201cc ticker.exe 741361148 16702144167774281d4 minimum.exe 8394807892 15930052167774241d0 cxx_iostream.exe 9576406160 15813636167774361dc fileio.exe 3329042644 16441920167774681fc capture.exe 2141761892 16561344167774121c4 nsecs.exe 2911122208 16484100167774201cc paranoia.exe 3120962208 16463108167774121c4 cdtest.exe 1908881792 16584772167774521ec base_sp.exe 1963361824 16579268167774281d4 unlimited.exe 1953441768 16580356167774681fc hello.exe For the epiphany_sim BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 1877841752 16587908167774441e4 ticker.exe 51560 292 16725568167774201cc minimum.exe 5810403920 16192452167774121c4 cxx_iostream.exe 9307366112 15840580167774281d4 fileio.exe 3124482564 16462400167774121c4 capture.exe 2044241852 16571136167774121c4 nsecs.exe 2782482160 16497028167774361dc paranoia.exe 2964882088 16478852167774281d4 cdtest.exe 1780241752 16597636167774121c4 base_sp.exe 1829521784 16592708167774441e4 unlimited.exe 1816881728 16594052167774681fc hello.exe --- c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg b/c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg index 9eea2a0..1fef608 100644 --- a/c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg +++ b/c/src/lib/libbsp/epiphany/epiphany_sim/make/custom/epiphany_sim.cfg @@ -5,3 +5,6 @@ RTEMS_CPU = epiphany CPU_CFLAGS = CFLAGS_OPTIMIZE_V ?= -O0 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 28/32] sh/simsh: Add per-section compilation and linking support
updates #2577. For the simsh1 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 7398472207036 88240 158b0 ticker.exe 2128463882856 305287740 minimum.exe 368616 17820 36256 422692 67324 pppd.exe 16266078769936 180472 2c0f8 capture.exe 8781273087121 102241 18f61 nsecs.exe 15256475927604 167760 28f50 paranoia.exe 161260 166408108 186008 2d698 cdtest.exe 7125672207012 85488 14df0 base_sp.exe 738527248 10852 91952 16730 unlimited.exe 8688871927016 101096 18ae8 hello.exe 219504 11712 14332 245548 3bf2c loopback.exe For the simsh1 BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 6826056885984 79932 1383c ticker.exe 1172443641824 1791245f8 minimum.exe 331732 13000 34424 379156 5c914 pppd.exe 15340863128892 168612 292a4 capture.exe 8280457766073 94653 171bd nsecs.exe 14510860566560 157724 2681c paranoia.exe 15303661967060 166292 28994 cdtest.exe 6423656845964 75884 1286c base_sp.exe 6668457129808 82204 1411c unlimited.exe 7930456565956 90916 16324 hello.exe 1938446936 13148 213928 343a8 loopback.exe For the simsh2 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 7134471687040 85552 14e30 ticker.exe 1915663522860 283686ed0 minimum.exe 366744 17768 36244 420756 66b94 pppd.exe 16061278249940 178376 2b8c8 capture.exe 8515672567125 99537 184d1 nsecs.exe 14979675407608 164944 28450 paranoia.exe 158908 165888112 183608 2cd38 cdtest.exe 6911271687016 83296 14560 base_sp.exe 716927196 10856 89744 15e90 unlimited.exe 8479271407020 98952 18288 hello.exe 217488 11660 14336 243484 3b71c loopback.exe For the simsh2 BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 6640456885984 78076 130fc ticker.exe 1134043641824 175284478 minimum.exe 331044 13000 34424 378468 5c664 pppd.exe 15264063128892 167844 28fa4 capture.exe 8058057766073 92429 1690d nsecs.exe 14365260566560 156268 2626c paranoia.exe 15198061967060 165236 28574 cdtest.exe 6340456845964 75052 1252c base_sp.exe 6583657129808 81356 13dcc unlimited.exe 7861656565956 90228 16074 hello.exe 1931406936 13148 213224 340e8 loopback.exe For the simsh2e BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 7273661407040 85916 14f9c ticker.exe 1915653242860 273406acc minimum.exe 368864 16740 36252 421856 66fe0 pppd.exe 15975667969932 176484 2b164 capture.exe 8822862287109 101565 18cbd nsecs.exe 12268464607380 136524 2154c paranoia.exe 157508 157408100 181348 2c464 cdtest.exe 7050461407000 83644 146bc base_sp.exe 731166168 10856 90140 1601c unlimited.exe 8161661127012 94740 17214 hello.exe 217336 10632 14328 242296 3b278 loopback.exe For the simsh2e BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 6795656885984 79628 1370c ticker.exe 1140443641824 1759244b8 minimum.exe 333228 13000 34416 380644 5cee4 pppd.exe 15186463128884 167060 28c94 capture.exe 8382857766073 95677 175bd nsecs.exe 11676460046332 129100 1f84c paranoia.exe 15074061967052 163988 28094 cdtest.exe 6494056845964 76588 12b2c base_sp.exe 6740457129808 82924 143ec unlimited.exe 7561656565964 87236 154c4 hello.exe 1929566936 13156 213048 34038 loopback.exe For the simsh4 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 7310460527172 86328 15138 ticker.exe 1990852802996 281846e18 minimum.exe 369572 16652 36380 422604 672cc pppd.exe 1603846708 10076 177168 2b410 capture.exe 8862861407257 102025 18e89 nsecs.exe 13377664247744 147944 241e8 paranoia.exe 157496 156168248 181360 2c470 cdtest.exe 7092060527148 84120 14898 base_sp.exe 735326080 10988 90600 161e8 unlimited.exe 8218060247156 95360
[PATCH 17/32] pc386.cfg: Add disabled per-function-sections
updates #2638. --- c/src/lib/libbsp/i386/pc386/make/custom/pc386.cfg | 4 1 file changed, 4 insertions(+) diff --git a/c/src/lib/libbsp/i386/pc386/make/custom/pc386.cfg b/c/src/lib/libbsp/i386/pc386/make/custom/pc386.cfg index 9f7428d..af912e7 100644 --- a/c/src/lib/libbsp/i386/pc386/make/custom/pc386.cfg +++ b/c/src/lib/libbsp/i386/pc386/make/custom/pc386.cfg @@ -19,6 +19,10 @@ endif # optimize flag: typically -O2 CFLAGS_OPTIMIZE_V = -O2 -g +# Per function sections disabled per https://devel.rtems.org/ticket/2638 +# CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections +# +# LDFLAGS = -Wl,--gc-sections # Here is the rule to actually build a $(ARCH)/foo$(EXEEXT) # It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 32/32] v850/gdbv850sim: Add per-section compilation and linking support
updates #2577. Had to add .rtemsroset to the linkcmds following the arm to get it to link after turning on the per-secton options. For the v850e1sim BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 7694064564944 88340 15914 ticker.exe 218961860 760 245165fc4 minimum.exe 802270 45832 12837 860939 d230b cxx_iostream.exe 473916 65152 18156 557224 880a8 fileio.exe 384288 45724 34148 464160 71520 pppd.exe 161648 184167840 187904 2de00 capture.exe 9085667405021 102617 190d9 nsecs.exe 158424 175125508 181444 2c4c4 paranoia.exe 152938 129485821 171707 29ebb cdtest.exe 7380862964912 85016 14c18 base_sp.exe 7742065288756 92704 16a20 unlimited.exe 8969247924916 99400 18448 hello.exe 236138 18396 12240 266774 41216 loopback.exe For the v850e1sim BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 7673915524920 83211 1450b ticker.exe 13682 228 748 146583942 minimum.exe 4912846508 12026 509818 7c77a cxx_iostream.exe 5179525632 17859 541443 84303 fileio.exe 3797328864 33308 421904 67010 pppd.exe 16918221767815 179173 2bbe5 capture.exe 9130716404997 97944 17e98 nsecs.exe 16743119205484 174835 2aaf3 paranoia.exe 15632219365797 164055 280d7 cdtest.exe 7259115484888 79027 134b3 base_sp.exe 7621515768732 86523 151fb unlimited.exe 8634615204892 92758 16a56 hello.exe 2218102800 12076 236686 39c8e loopback.exe For the v850e2sim BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 6978864524948 81188 13d24 ticker.exe 209721856 788 236165c40 minimum.exe 795748 45828 12841 854417 d0991 cxx_iostream.exe 440586 64864 18160 523610 7fd5a fileio.exe 352650 45644 34152 432446 6993e pppd.exe 151172 184007844 177416 2b508 capture.exe 8402867365025 95789 1762d nsecs.exe 148268 175005512 171280 29d10 paranoia.exe 145916 129365825 164677 28345 cdtest.exe 6712462924916 78332 131fc base_sp.exe 7045265088760 85720 14ed8 unlimited.exe 8380047884920 93508 16d44 hello.exe 221216 18372 12244 251832 3d7b8 loopback.exe For the v850e2sim BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 7015515524924 76631 12b57 ticker.exe 14156 932 776 158643df8 minimum.exe 4856506508 12030 504188 7b17c cxx_iostream.exe 4853985632 17863 508893 7c3dd fileio.exe 3514188864 33312 393594 6017a pppd.exe 15951021767819 169505 29621 capture.exe 8498916405001 91630 165ee nsecs.exe 15797319205488 165381 28605 paranoia.exe 14988019365801 157617 267b1 cdtest.exe 6652915484892 72969 11d09 base_sp.exe 6984715768736 80159 1391f unlimited.exe 8113415204896 87550 155fe hello.exe 2088782800 12080 223758 36a0e loopback.exe For the v850e2v3sim BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 6978464524948 81184 13d20 ticker.exe 209721856 788 236165c40 minimum.exe 791378 45808 12841 850027 cf86b cxx_iostream.exe 436576 64848 18160 519584 7eda0 fileio.exe 348982 45624 34152 428758 68ad6 pppd.exe 147420 183807844 173644 2a64c capture.exe 8402067365025 95781 17625 nsecs.exe 148736 174805512 171728 29ed0 paranoia.exe 142216 129165825 160957 274bd cdtest.exe 6712062924916 78328 131f8 base_sp.exe 7044865088760 85716 14ed4 unlimited.exe 8004847684920 89736 15e88 hello.exe 217432 18352 12244 248028 3c8dc loopback.exe For the v850e2v3sim BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 7015115524924 76627 12b53 ticker.exe 14156 932 776 158643df8 minimum.exe 4814086508 12030 499946 7a0ea cxx_iostream.exe 4813785632 17863 504873 7b429 fileio.exe 3477408864 33312 389916 5f31c pppd.exe 15573621767819 165731 28763 capture.exe 8498116405001 91622 165e6 nsecs.exe 15833119205488 165739 2876b paranoia.exe 14616419365801 153901 2592d cdtest.exe 6652515484892 72965 11d05 base_sp.exe 6984315768736
[PATCH 22/32] nios2/nios2_iss: Add per-section compilation and linking support
updates #2577. For the nios2_iss BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 19869266726068 211432 339e8 ticker.exe 7540819241892 79224 13578 minimum.exe 1044536 36308 14032 1094876 10b4dc cxx_iostream.exe 877164 68972 19300 965436 ebb3c fileio.exe 703628 48772 37196 789596 c0c5c pppd.exe 336340 195328972 364844 5912c capture.exe 21619669126148 229256 37f88 nsecs.exe 319236 180486632 343916 53f6c paranoia.exe 317556 129447020 337520 52670 cdtest.exe 19298064766036 205492 322b4 base_sp.exe 19806866809876 214624 34660 unlimited.exe 20662848566036 217520 351b0 hello.exe 459304 19208 13368 491880 78168 loopback.exe For the nios2_iss BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 18704465606048 199652 30be4 ticker.exe 50944 8281880 53652d194 minimum.exe 731956 27876 13228 773060 bcbc4 cxx_iostream.exe 848108 67272 19020 934400 e4200 fileio.exe 645152 47968 36464 729584 b21f0 pppd.exe 315092 187928952 342836 53b34 capture.exe 20558867806128 218496 35580 nsecs.exe 305684 179166612 330212 509e4 paranoia.exe 305360 114767000 323836 4f0fc cdtest.exe 17942863646016 191808 2ed40 base_sp.exe 18203665489856 198440 30728 unlimited.exe 18990847086016 200632 30fb8 hello.exe 421696 18772 13280 453748 6ec74 loopback.exe --- c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg b/c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg index 8254eec..2bec4b1 100644 --- a/c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg +++ b/c/src/lib/libbsp/nios2/nios2_iss/make/custom/nios2_iss.cfg @@ -19,6 +19,9 @@ CPU_CFLAGS = -mno-hw-mul -mno-hw-div # optimize flag: typically -O2 # ATM, doesn't work with optimization levels > 0 CFLAGS_OPTIMIZE_V = -O0 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections define bsp-post-link $(OBJCOPY) -O binary --strip-all $(basename $@)$(EXEEXT) \ -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 23/32] no_bsp.cfg: Add hints for CFLAGS and LDFLAGS
updates #2577. --- c/src/lib/libbsp/no_cpu/no_bsp/make/custom/no_bsp.cfg | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/no_cpu/no_bsp/make/custom/no_bsp.cfg b/c/src/lib/libbsp/no_cpu/no_bsp/make/custom/no_bsp.cfg index 8c98f8b..944ebd9 100644 --- a/c/src/lib/libbsp/no_cpu/no_bsp/make/custom/no_bsp.cfg +++ b/c/src/lib/libbsp/no_cpu/no_bsp/make/custom/no_bsp.cfg @@ -7,4 +7,8 @@ include $(RTEMS_ROOT)/make/custom/default.cfg RTEMS_CPU=no_cpu RTEMS_CPU_MODEL=no_cpu_model -# Miscellaneous additions go here +# Miscellaneous additions go here. Typical options usually look like +CFLAGS_OPTIMIZE_V += -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 18/32] lm32/lm32_evr: Add per-section compilation and linking support
updates #2577. For the lm32_evr BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 1957646892 13077 215733 34ab5 ticker.exe 8421222649169 95645 1759d minimum.exe 1077108 82852 26293 1186253 1219cd fileio.exe 763500 56340 44493 864333 d304d pppd.exe 344948 22148 15977 383073 5d861 capture.exe 2118768472 13169 233517 3902d nsecs.exe 330020 18636 13685 362341 58765 paranoia.exe 1859566452 13053 205461 32295 base_sp.exe 1945166656 16893 218065 353d1 unlimited.exe 2021645400 13013 220577 35da1 hello.exe 474728 23220 20389 518337 7e8c1 loopback.exe For the lm32_evr BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 1863886792 13045 206225 32591 ticker.exe 5314011249137 63401f7a9 minimum.exe 1049556 80336 26045 1155937 11a361 fileio.exe 685632 55056 43757 784445 bf83d pppd.exe 323588 21400 15953 360941 581ed capture.exe 2035408352 13137 225029 36f05 nsecs.exe 316612 18512 13653 348777 55269 paranoia.exe 1727246352 13021 192097 2ee61 base_sp.exe 1767086528 16837 200073 30d89 unlimited.exe 1829005260 13021 201181 311dd hello.exe 436064 22840 20293 479197 74fdd loopback.exe --- c/src/lib/libbsp/lm32/lm32_evr/make/custom/lm32_evr.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/c/src/lib/libbsp/lm32/lm32_evr/make/custom/lm32_evr.cfg b/c/src/lib/libbsp/lm32/lm32_evr/make/custom/lm32_evr.cfg index c1951d0..c26a628 100644 --- a/c/src/lib/libbsp/lm32/lm32_evr/make/custom/lm32_evr.cfg +++ b/c/src/lib/libbsp/lm32/lm32_evr/make/custom/lm32_evr.cfg @@ -19,6 +19,9 @@ CPU_CFLAGS = # optimize flag: typically -O2 # ATM, doesn't work with optimization levels > 0 CFLAGS_OPTIMIZE_V = -O0 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections define bsp-post-link $(OBJCOPY) -O binary --strip-all $(basename $@)$(EXEEXT) \ -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 27/32] sh/gensh4: Add per-section compilation and linking support
updates #2577. For the gensh4 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 75538 106667264 93468 16d1c ticker.exe 2181061663008 309847908 minimum.exe 424370 69762 20476 514608 7da30 fileio.exe 342538 50782 36468 429788 68edc pppd.exe 150930 23130 10168 184228 2cfa4 capture.exe 90578 110787348 109004 1a9cc nsecs.exe 125010 221907824 155024 25d90 paranoia.exe 153282 266868328 188296 2df88 cdtest.exe 73426 104987232 91156 16414 base_sp.exe 75186 10734 11072 96992 17ae0 unlimited.exe 8565090707224 101944 18e38 hello.exe 212390 22942 14556 249888 3d020 loopback.exe For the gensh4 BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 70418 102147228 87860 15734 ticker.exe 1451448862984 223845770 minimum.exe 411234 67894 20184 499312 79e70 fileio.exe 309906 43666 35668 389240 5f078 pppd.exe 143074 22414 10132 175620 2ae04 capture.exe 86130 106067312 104048 19670 nsecs.exe 118978 217147804 148496 24410 paranoia.exe 147778 158148292 171884 29f6c cdtest.exe 67890 100427196 85128 14c88 base_sp.exe 69010 10254 11036 90300 160bc unlimited.exe 7885085787204 94632 171a8 hello.exe 189586 17346 14392 221324 3608c loopback.exe --- c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg b/c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg index dd1a9f7..4eb20f9 100644 --- a/c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg +++ b/c/src/lib/libbsp/sh/gensh4/make/custom/gensh4.cfg @@ -23,4 +23,7 @@ RTEMS_CPU_MODEL=sh7750 CPU_CFLAGS = -m4 -ml # optimize flag: typically -O2 -CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 21/32] m32csim.cfg: GCC PR37665 is fixed but there is still a compiler error. Use -O0.
--- c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg b/c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg index 491f000..9629e48 100644 --- a/c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg +++ b/c/src/lib/libbsp/m32c/m32cbsp/make/custom/m32csim.cfg @@ -7,13 +7,10 @@ include $(RTEMS_ROOT)/make/custom/default.cfg RTEMS_CPU=m32c RTEMS_CPU_MODEL=m32c -# This contains the compiler options necessary to select the CPU model -# and (hopefully) optimize for it. CPU_CFLAGS = -mcpu=m32cm -# optimize flag: typically -O2 -# see GCC PR37665 -#CFLAGS_OPTIMIZE_V = -Os -g +# Unreported GCC Bug results in ICE in cpu.c. Use -O0 +# CFLAGS_OPTIMIZE_V = -Os -g CFLAGS_OPTIMIZE_V = -O0 -g CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 26/32] sh/gensh2: Add per-section compilation and linking support
updates #2577. For the gensh2 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 6190675506784 76240 129d0 ticker.exe 2408231342876 30092758c minimum.exe 336698 47742 36256 420696 66b58 pppd.exe 140210 200349684 169928 297c8 capture.exe 7505879626861 89881 15f19 nsecs.exe 128850 184467352 154648 25c18 paranoia.exe 142898 227947844 173536 2a5e0 cdtest.exe 5961867346752 73104 11d90 base_sp.exe 620666970 10576 79612 136fc unlimited.exe 7606653226732 88120 15838 hello.exe 200630 19846 14080 234556 3943c loopback.exe For the gensh2 BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 5840270306768 72200 11a08 ticker.exe 1321815021844 1656440b4 minimum.exe 298562 40502 35448 374512 5b6f0 pppd.exe 133826 192509660 162736 27bb0 capture.exe 7182674226833 86081 15041 nsecs.exe 124050 179027328 149280 24720 paranoia.exe 138658 119987832 158488 26b18 cdtest.exe 5533062106724 68264 10aa8 base_sp.exe 5289853989516 67812 108e4 unlimited.exe 6648237385684 75904 12880 hello.exe 179618 14182 13916 207716 32b64 loopback.exe --- c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg b/c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg index 00d0fbf..40038e6 100644 --- a/c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg +++ b/c/src/lib/libbsp/sh/gensh2/make/custom/gensh2.cfg @@ -13,8 +13,10 @@ RTEMS_CPU_MODEL=sh7045 # This contains the compiler options necessary to select the CPU model # and (hopefully) optimize for it. -# CPU_CFLAGS = -m2 # optimize flag: typically -O2 CFLAGS_OPTIMIZE_V = -O2 -g +CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections + +LDFLAGS = -Wl,--gc-sections -- 1.8.3.1 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 29/32] powerpc/motorola_powerpc: Add per-section compilation and linking support
updates #2577. For the mcp750 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 188997 29656 48361 267014 41306 ticker.exe 150693 26116 44681 221490 36132 minimum.exe 939941 217971 55585 1213497 128439 cxx_iostream.exe 585125 98042 61033 744200 b5b08 fileio.exe 506445 72164 76829 655438 a004e pppd.exe 253397 40224 50409 344030 53fde capture.exe 208597 31236 48437 288270 4660e nsecs.exe 218981 42028 48961 309970 4bad2 paranoia.exe 275605 47856 48585 372046 5ad4e cdtest.exe 186309 29488 48329 264126 407be base_sp.exe 188517 30424 52105 271046 422c6 unlimited.exe 174725 28324 48257 251306 3d5aa hello.exe 342601 41628 55433 439662 6b56e loopback.exe For the mcp750 BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 159345 19612 48329 227286 377d6 ticker.exe 120417 15516 44649 180582 2c166 minimum.exe 596905 50686 54737 702328 ab778 cxx_iostream.exe 551185 88466 60745 700396 aafec fileio.exe 453101 61848 76093 591042 904c2 pppd.exe 228033 32444 50381 310858 4be4a capture.exe 179585 21168 48405 249158 3cd46 nsecs.exe 188785 31176 48933 268894 41a5e paranoia.exe 249561 28688 48553 326802 4fc92 cdtest.exe 156401 19444 48297 224142 36b8e base_sp.exe 156977 19592 52073 228642 37d22 unlimited.exe 142929 17544 48225 208698 32f3a hello.exe 302045 33328 55321 390694 5f626 loopback.exe For the mtx603e BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 189317 29640 48361 267318 41436 ticker.exe 150997 26104 44681 221782 36256 minimum.exe 940581 214151 55585 1210317 1277cd cxx_iostream.exe 585317 98026 61033 744376 b5bb8 fileio.exe 506893 72148 76829 655870 a01fe pppd.exe 253813 40208 50409 344430 5416e capture.exe 208917 31220 48437 288574 4673e nsecs.exe 219301 42012 48961 310274 4bc02 paranoia.exe 276021 47700 48585 372306 5ae52 cdtest.exe 186629 29472 48329 264430 408ee base_sp.exe 188837 30408 52105 271350 423f6 unlimited.exe 175045 28312 48257 251614 3d6de hello.exe 342953 41612 55433 439998 6b6be loopback.exe For the mtx603e BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 159345 19612 48329 227286 377d6 ticker.exe 120385 15516 44649 180550 2c146 minimum.exe 597097 50686 54737 702520 ab838 cxx_iostream.exe 551121 88466 60745 700332 aafac fileio.exe 453197 61848 76093 591138 90522 pppd.exe 228097 32444 50381 310922 4be8a capture.exe 179569 21168 48405 249142 3cd36 nsecs.exe 188785 31176 48933 268894 41a5e paranoia.exe 249625 28688 48553 326866 4fcd2 cdtest.exe 156369 19444 48297 224110 36b6e base_sp.exe 156945 19592 52073 228610 37d02 unlimited.exe 142929 17544 48225 208698 32f3a hello.exe 302109 33328 55321 390758 5f666 loopback.exe For the mvme2100 BSP variant without this option sample executables sizes were as follows: textdata bss dec hex filename 185285 24424 48361 258070 3f016 ticker.exe 146997 20880 44681 212558 33e4e minimum.exe 936549 208935 55585 1201069 1253ad cxx_iostream.exe 581285 92810 61033 735128 b3798 fileio.exe 502861 66932 76829 646622 9ddde pppd.exe 249781 34984 50409 335174 51d46 capture.exe 204917 26004 48437 279358 4433e nsecs.exe 215269 36788 48961 301018 497da paranoia.exe 271989 42484 48585 363058 58a32 cdtest.exe 182597 24256 48329 255182 3e4ce base_sp.exe 184805 25192 52105 262102 3ffd6 unlimited.exe 171045 23088 48257 242390 3b2d6 hello.exe 338953 36388 55433 430774 692b6 loopback.exe For the mvme2100 BSP variant with this option sample executables sizes were as follows: textdata bss dec hex filename 154449 18328 48329 221106 35fb2 ticker.exe 115521 14232 44649 174402 2a942 minimum.exe 592201 49402 54737 696340 aa014 cxx_iostream.exe 546225 87182 60745 694152 a9788 fileio.exe 448301 60564 76093 584958 8ecfe pppd.exe 223201 31160 50349 304710 4a646 capture.exe 174673 19884 48405 242962 3b512 nsecs.exe 183889 29892 48933 262714 4023a paranoia.exe 244729 27404 48553 320686 4e4ae cdtest.exe 151473 18160 48297 217930 3534a base_sp.exe 152049 18308 52073 222430 364de unlimited.exe 138033 16260 48225 202518 31716 hello.exe 297213 32044 55321 384578 5de42 loopback.exe
Re: [PATCH 17/17] fileio: Add command "com" to write to files
On 10/03/2016 09:25, Joel Sherrill wrote: This was used to open, write, and close the VGA console and /dev/pcicom1 for testing purposes. Does this do the same thing? [/] # dd if=text.txt of=/dev/pcicom1 Chris ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH 17/17] fileio: Add command "com" to write to files
On Thu, Mar 10, 2016 at 6:42 PM, Chris Johns wrote: > On 10/03/2016 09:25, Joel Sherrill wrote: > >> This was used to open, write, and close the VGA console and >> /dev/pcicom1 for testing purposes. >> > > Does this do the same thing? > > [/] # dd if=text.txt of=/dev/pcicom1 > > I didn't mean to submit this. It was a test command so I could very explicitly control calling open(), write(), and close(). I had debug printk's turned on to see the register accesses for each. That functionally does the same operations if you had a set of small files but you wouldn't see a break between open(), write() and close(). I don't know if it is worth being in the tree or not. It was a quickly thrown together utility for testing. If it has value, then we can rename it and add some requirements. My lspci command is similar. If we get every BSP to standard PCI support, it might be useful but until then, it is just a test utility. > Chris > ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH 17/17] fileio: Add command "com" to write to files
On 11/03/2016 11:49, Joel Sherrill wrote: On Thu, Mar 10, 2016 at 6:42 PM, Chris Johns mailto:chr...@rtems.org>> wrote: On 10/03/2016 09:25, Joel Sherrill wrote: This was used to open, write, and close the VGA console and /dev/pcicom1 for testing purposes. Does this do the same thing? [/] # dd if=text.txt of=/dev/pcicom1 I didn't mean to submit this. It was a test command so I could very explicitly control calling open(), write(), and close(). I had debug printk's turned on to see the register accesses for each. Best to keep as an example. That functionally does the same operations if you had a set of small files but you wouldn't see a break between open(), write() and close(). Files are easy to create and add to the root fs. There should be some in /etc. I don't know if it is worth being in the tree or not. It was a quickly thrown together utility for testing. If it has value, then we can rename it and add some requirements. I say out of the tree. Commands are easy to add and difficult to remove. My lspci command is similar. If we get every BSP to standard PCI support, it might be useful but until then, it is just a test utility. This is useful. If it is not present someone will just invent it again. The doco needs to be added to docs repo. The shell doco source is ok to change. :) Chris ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: Building RTEMS hello world image using CMake
[ Please excuse the delay. It took a while to get something worth posting sorted out. ] On 04/03/2016 14:46, Sambeet Panigrahi wrote: I wanted to build a hello world image of RTEMS using cmake. Can someone provide me steps for doing so or point me to the right resources ? I attach a couple of files from a friend of mine, Andi, who knows and works with cmake. I have not tried them and I do not know if they work. If you have any questions please feel free to ask. Chris cmake_minimum_required(VERSION 2.8.11) set(RTEMS_ROOT_PATH "/home/andi/development/rtems") set(RTEMS_TOOLS_INSTALL_DIR "${RTEMS_ROOT_PATH}/4.12") set(RTEMS_TOOLS_BSP_LIB_DIR "${RTEMS_ROOT_PATH}/4.12/sparc-rtems4.12/lib") set(RTEMS_KERNEL_INSTALL_DIR"${RTEMS_ROOT_PATH}/sparc-sis") set(RTEMS_KERNEL_BSP_LIB_DIR "${RTEMS_ROOT_PATH}/sparc-sis/sparc-rtems4.12/sis/lib") set(ENV{PATH} "${RTEMS_TOOLS_INSTALL_DIR}/bin:$ENV{PATH}") set(RTEMS_TOOLS_BSP_INCLUDE_DIR "${RTEMS_TOOLS_BSP_LIB_DIR}/include") set(RTEMS_KERNEL_BSP_INCLUDE_DIR "${RTEMS_KERNEL_BSP_LIB_DIR}/include") set(RTEMS_COMPILE_OPTIONS "-B${RTEMS_KERNEL_BSP_LIB_DIR} -B${RTEMS_TOOLS_BSP_LIB_DIR} -specs bsp_specs -qrtems -mcpu=cypress") include(CMakeForceCompiler) set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_PROCESSORsparc) cmake_force_c_compiler("${RTEMS_TOOLS_INSTALL_DIR}/bin/sparc-rtems4.12-gcc" GNU) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "") endif() set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug RelWithDebInfo Release) set(CMAKE_C_FLAGS_DEBUG "${RTEMS_COMPILE_OPTIONS} -g" CACHE STRING "") set(CMAKE_C_FLAGS_RELWITHDEBINFO"${RTEMS_COMPILE_OPTIONS} -g -O2" CACHE STRING "") set(CMAKE_C_FLAGS_RELEASE "${RTEMS_COMPILE_OPTIONS} -O2 -DNDEBUG" CACHE STRING "") project(hello) add_executable(HELLO hello.c) target_include_directories(HELLO BEFORE PRIVATE ${RTEMS_TOOLS_BSP_INCLUDE_DIR} ${RTEMS_KERNEL_BSP_INCLUDE_DIR}) /* * Classic API Hello World */ #include #include #include rtems_task Init(rtems_task_argument argument); rtems_task Init(rtems_task_argument argument) { printf( "Hello there from rtems_task Init with arg %d\n", argument); exit( 0 ); } /* configuration information */ #include /* NOTICE: the clock driver is explicitly disabled */ #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM #define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_MAXIMUM_TASKS 1 #define CONFIGURE_INIT #include /* end of file */ ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Regarding GSOC 2016 BBB Mentor
Hi, I am ready with RTEMS hello world on Beagle bone black ( https://www.youtube.com/watch?v=FyOHU02bsvw&index=6&list=PL2muodf7ZnYcS18wkilESuJpZGj4mYSMJ) and interested to improve BBB BSP . Currently I am testing GPIO and will work on PWM driver for showcasing on my proposal. But I am afraid that I have not listened anything from Ben Gras. Is some else will mentor me ? If not then should I stick with my BBB idea or go for another RTEMS project for which some one can mentor me ? I have already asked this question before but I am little worried that is why I created new thread. Any suggestions will be appreciated. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: Regarding GSOC 2016 BBB Mentor
Hello Punit, I was working on porting the MicroMonitor (uMon) bootloader to the BBB last year's GSoC 2015. There is actually still some work that needs to be done. At the moment, Ethernet functionality and booting application images still need to be implemented to get it to the point of making it a usable bootloader for the BBB. If you're interested in pursuing this as a project, feel free to drop on by at umon-de...@rtems.org if you have any questions. Best, Jarielle On Thu, Mar 10, 2016 at 8:43 PM, punit vara wrote: > Hi, > > I am ready with RTEMS hello world on Beagle bone black ( > https://www.youtube.com/watch?v=FyOHU02bsvw&index=6&list=PL2muodf7ZnYcS18wkilESuJpZGj4mYSMJ) > and interested to improve BBB BSP . Currently I am testing GPIO and will > work on PWM driver for showcasing on my proposal. But I am afraid that I > have not listened anything from Ben Gras. Is some else will mentor me ? If > not then should I stick with my BBB idea or go for another RTEMS project > for which some one can mentor me ? I have already asked this question > before but I am little worried that is why I created new thread. Any > suggestions will be appreciated. > > ___ > 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