Am 01.12.24 um 05:45 schrieb Maciej W. Rozycki:
On Sat, 30 Nov 2024, Georg-Johann Lay wrote:

The gcc.c-torture/execute/memcpy-a[1248].c tests consumed more time
than the whole rest of the test suite, just to come up with
a "memory full" even at -Os.  Skipped thusly.

As a matter of interest, is the timeout/memory exhaustion observed with
host compilation or target execution?

It happens during link, when the linker observes that the memory regions
won't fit:

.../avr/bin/ld: memcpy-a8.elf section `.text' will not fit in region `text'
.../avr/bin/ld: address 0x82c174 of memcpy-a8.elf section `.data' is not within region `data' .../avr/bin/ld: address 0x82c17c of memcpy-a8.elf section `.bss' is not within region `data'
.../avr/bin/ld: region `text' overflowed by 245074 bytes
collect2: error: ld returned 1 exit status

From my observation the optimisation level does not matter much for
compilation times unless you use -O0, reducing the number of passes and
code transformations applied.  So whether it's at -O2 or -Os the time
consumed does not change much.

The resulting executables themselves take ~560KiB with a VAX target, the

The AVR device used has a program memory of 128 KiB.  Other AVR devices
have less program memory.  The simulator assigns 32 KiB of RAM or less.
So both memories are exhausted by quite a margin.

Johann

ultimate CISC machine which also has memory move and memory set hardware
instructions contributing to size reduction, and ~1200KiB with a POWER9
target, a 64-bit RISC machine.  I suppose the sizes will lie somewhere in
between for the majority of our targets, and with smaller embedded ones
the executables may not fit in the address space available.

   Maciej

Reply via email to