bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/22831] ld causes massive thrashing if object files are not fully


From: lkcl at lkcl dot net
Subject: [Bug ld/22831] ld causes massive thrashing if object files are not fully memory-resident: new algorithm needed
Date: Wed, 16 Jan 2019 09:59:38 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=22831

Luke Kenneth Casson Leighton <lkcl at lkcl dot net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #11522|0                           |1
        is obsolete|                            |

--- Comment #27 from Luke Kenneth Casson Leighton <lkcl at lkcl dot net> ---
Created attachment 11540
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11540&action=edit
updated version of liinker torturer

i decided to run an i386 debian chroot, using a variant of
evil_linker_torture.py
and running these options:
$python evil_linker_torture.py 80 40 20 800000000

the results of the link (an error) are below:

$ make -j8 maing
i686-linux-gnu-ld.gold src0.o src1.o src10.o src11.o src12.o src13.o src14.o
src15.o src16.o src17.o src18.o src19.o src2.o src20.o src21.o src22.o src23.o
src24.o src25.o src26.o src27.o src28.o src29.o src3.o src30.o src31.o src32.o
src33.o src34.o src35.o src36.o src37.o src38.o src39.o src4.o src40.o src41.o
src42.o src43.o src44.o src45.o src46.o src47.o src48.o src49.o src5.o src50.o
src51.o src52.o src53.o src54.o src55.o src56.o src57.o src58.o src59.o src6.o
src60.o src61.o src62.o src63.o src64.o src65.o src66.o src67.o src68.o src69.o
src7.o src70.o src71.o src72.o src73.o src74.o src75.o src76.o src77.o src78.o
src79.o src8.o src9.o -g -g -g --no-mmap-output-file --no-map-whole-files
--no-keep-files-mapped --no-keep-memory -o maing
i686-linux-gnu-ld.gold: internal error in convert_types, at
../../gold/gold.h:192

this is with the following version:
$ gold --version
GNU gold (GNU Binutils for Debian 2.28) 1.14

the most likely reason is that the size of the executable is over 6GB, and a
32-bit version of gold cannot cope.

when run on 64-bit it does fine, the only strange thing being that it still
requires 7GB of resident RAM to link a 6GB executable.

ld-bfd - with "--no-keep-memory" - only requires 750 MB of resident RAM, to
link the exact same 6GB executable.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]