Hello, I have noticed a change in the linker section ".rtemsrwset" alignment which has affected the zImage header that was added with the arm/xen BSP. The zImage header uses the bsp_section_data_end symbol to determine the end of the image. I was able to track this change to the commit 234d155e linkersets: Revert to zero-length arrays.
Here is the readelf output of the ticker.exe application just prior before commit Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [15] .rtemsstack NOBITS 40100000 01358c 001000 00 WA 0 0 64 [16] .data PROGBITS 40101000 101000 0004e0 00 WA 0 0 8 [17] .rtemsrwset PROGBITS 401014e0 1014e0 000000 00 0 0 1 Here is the output with the commit Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [15] .rtemsstack NOBITS 40100000 01358c 001000 00 WA 0 0 64 [16] .data PROGBITS 40101000 101000 0004e0 00 WA 0 0 8 [17] .rtemsrwset PROGBITS 40101500 101500 000000 00 WA 0 0 64 This shows that the alignment of the ".rtemsrwset" section changed from 1 byte to 64 bytes. This changes the start address of the section to be aligned, even though the section is empty. The bsp_section_data_end symbol is located at the end of the ".rtemsrwset" section. If the section is empty, the bsp_section_data_end symbol will contain the start address of the section. .data : ALIGN_WITH_INPUT { bsp_section_data_begin = .; *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } > REGION_DATA AT > REGION_DATA_LOAD .data1 : ALIGN_WITH_INPUT { *(.data1) } > REGION_DATA AT > REGION_DATA_LOAD .rtemsrwset : ALIGN_WITH_INPUT { KEEP (*(SORT(.rtemsrwset.*))) bsp_section_data_end = .; } > REGION_DATA AT > REGION_DATA_LOAD When I convert the ticker.exe elf to a binary with objcopy, the binary doesn't include the ".rtemsrwset" section, since it's empty. As a result, the length of the binary doesn't match the bsp_section_data_end symbol. This is a problem for some zImage loaders that verify the image length. I'm not certain what would be the best way to fix the zImage header. Is there a different symbol that I should be using to get the end of the image? Maybe this is a bug with the linker script? Sincerely, Jeff Kubascik _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel