bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/26223] New: regression: ld now fails to take an executable as in


From: mjt at tls dot msk.ru
Subject: [Bug ld/26223] New: regression: ld now fails to take an executable as input
Date: Thu, 09 Jul 2020 15:08:42 +0000

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

            Bug ID: 26223
           Summary: regression: ld now fails to take an executable as
                    input
           Product: binutils
           Version: 2.35
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: mjt at tls dot msk.ru
  Target Milestone: ---

Apparently since this commit:

commit a87e1817a435dab6c6c042f9306497c9f13d4236
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu May 28 17:43:21 2020 +0100

    Have the linker fail if any attempt to link in an executable is made.

            PR 26047
            * ldelf.c (ldelf_after_open): Fail if attempting to link one
            executable into another.  Ensure that the test is made for all
            forms of linking.

ld fails to build, for example, seabios, which is a bios/firmware for x86
platform and needs to have 16bit startup code. 

Current seabios source tarball available for download from
https://www.seabios.org/downloads/seabios-1.13.0.tar.gz 
(it is a relatively small self-contained project), here's
the relevant output:

seabios-1.13.0 $ make silentoldconfig
seabios-1.13.0 $ make V=1 PYTHON=python3
...
  Linking out/rom16.o
ld -T out/romlayout16.lds out/code16.o -o out/rom16.o
  Stripping out/rom16.strip.o
strip out/rom16.o -o out/rom16.strip.o
  Linking out/rom.o
ld -N -T out/romlayout32flat.lds out/rom16.strip.o out/rom32seg.strip.o
out/code32flat.o -o out/rom.o
ld: cannot use executable file 'out/rom16.strip.o' as input to a link
make: *** [Makefile:187: out/rom.o] Error 1
seabios-1.13.0 $ _

Previous versions of ld accepted this file just fine
and produced valid out/bios.bin in the end.

Might be it is possible to change seabios in a way to not require linking an
executable into executable, I dunno. The whole firmware build thing is always
somewhat funny..

Thanks,

/mjt

-- 
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]