On 10/23/18 11:05 AM, Paul Koning wrote: > > >> On Oct 23, 2018, at 6:08 AM, Richard Biener <richard.guent...@gmail.com> >> wrote: >> >> On Tue, Oct 23, 2018 at 2:39 AM Paul Koning <paulkon...@comcast.net> wrote: >>> >>> In running the gcc testsuite on pdp11, I get some failures like this: >>> >>> collect2: fatal error: /Users/pkoning/Documents/svn/buildpdp/gcc/nm >>> returned 1 exit status >>> compilation terminated. >>> compiler exited with status 1 >>> FAIL: gcc.c-torture/execute/builtins/memcpy-chk.c compilation, -O3 >>> -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions >>> >>> While those tests flags are not terribly useful on a small memory platform >>> like pdp11, I wouldn't expect a failure like that. Some tests with those >>> flags do pass. >>> >>> The real issue is that collect2 is apparently failing for no visible reason >>> and without any helpful explanation of what it's trying to do. Any hints >>> on how I might debug this? >> >> Try with -Wl,-debug -Wl,-v but then it already tells you that nm >> failed somehow. So possibly debug >> that via strace -f? >> >> Richard. > > Found the problem. By default (without a suitable linker script) the linker > does not report memory overflow. The failing cases are all programs too > large to fit in the 16 bit address space of the target. > > I changed the board file to specify a linker script with explicit memory > bounds, and a torture options override that omits the -O3 variants. Now I > get sane results. > Yea. You also have to watch out for things which fit in the memory map statically but where your stack/heap will collide at runtime. I saw this all the time when I used to do embedded work on 16 bit targets.
jeff