From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe32.google.com (mail-vs1-xe32.google.com [IPv6:2607:f8b0:4864:20::e32]) by sourceware.org (Postfix) with ESMTPS id 2B4303858D3C for ; Sun, 10 Oct 2021 22:40:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2B4303858D3C Received: by mail-vs1-xe32.google.com with SMTP id p18so16786704vsu.7 for ; Sun, 10 Oct 2021 15:40:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=AZhP/u8C7oGi9j9t1+ke+ZYT7hxttf9iUVz18M5Nqag=; b=F1m9uctNu9SGe4c2tO0FpruStcna+fqOPNIbrbuW+1G0YHlulYrlt+N/eyNHhIYnue wiGKbnZCn9IBEAgI7bMpX8NbnJl0cAzjkAq3YlIaDu/TrbvRxNtpTsaFA8afGR/HyP+x /Fkn9AK0swtoZHYB/9J5nBN72TICFwMAnEvApPw2JedKZCjgWvhwzw0uXDIs1kNiNd1X gEassYUnQy9GVhdGr18XkW9UOfCLoTlcMQReeGKfgbVcLtyYEUFiiarIjuW+4ZJIHj1q tPhNLd8yjSqQ9JAGjJJvR8C7+9WPBwbOh0MikEY5yOo8F5YXkuuwNp5VxaUuG5t+Zdlw zo6g== X-Gm-Message-State: AOAM532AVrEjhDMksg2lZl3tZklGoRM50KNq381srukWCy5TLGs4mv4N WxAl1LSP61jdPyBqNzgGfUz5OinApVES3E6TRLkculSG X-Google-Smtp-Source: ABdhPJyF66HeuI1SUl9aGA2uQSPXeclFj7nPfr6tbe95IqwiNZDZwrsAMnkUG5SZdEpriHTatK0rCvLX2oi0cLK7TAE= X-Received: by 2002:a05:6102:32cd:: with SMTP id o13mr15783047vss.50.1633905622662; Sun, 10 Oct 2021 15:40:22 -0700 (PDT) MIME-Version: 1.0 References: <4aff570c-04e0-41d4-7ebd-87a72de72e90@SystematicSw.ab.ca> In-Reply-To: <4aff570c-04e0-41d4-7ebd-87a72de72e90@SystematicSw.ab.ca> From: Ronaldo Luiz Alonso Date: Sun, 10 Oct 2021 19:40:09 -0300 Message-ID: Subject: Re: ld linker with option -m elf_i386 stopped working in new version of cygwin. To: cygwin@cygwin.com X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Oct 2021 22:40:25 -0000 Thank you so much, Brian for your response! I will try everthing you suggested. Em dom, 10 de out de 2021 15:54, Brian Inglis < Brian.Inglis@systematicsw.ab.ca> escreveu: > On 2021-10-10 09:17, Ronaldo Luiz Alonso via Cygwin wrote: > > Hello everybody! > > I am a professor teaching operational system and using a tutorial in > > french by michelizza: > > https://michelizza.developpez.com/realiser-son-propre-systeme/ > > In order to build the system and debug it in bochs I use the > > following Makefile: > > ------------------------------------------------------------------------ > > OBJ=kernel > > CC=gcc -Wall *-m32* -g > > > > all: $(OBJ) > > > > kernel: kernel.o screen.o lib.o gdt.o idt.o interrupt.o int.o pic.o > > syscalls.o mm.o printk.o process.o schedule.o sched.o > > * ld --oformat binary -m elf_i386 -Ttext 1000 $^ -o $@* > > > > int.o: int.asm > > nasm -f elf -o $@ $^ > > > > sched.o: sched.asm > > nasm -f elf -o $@ $^ > > > > .o: .c > > $(CC) -c $^ > > > > clean: > > rm -f $(OBJ) *.o > > ------------------------------------------------------------------------ > > Note that the system is compiled using -m 32 (system is for machines with > > 32 bits) bits and the linker uses elf_i386 multiboot format. > > > > This was working fine few weeks later, but when I run setup again to > update > > cygwin it stops working and ld complains that* this emulation mode is no > > longer supported! * > > The system now only links and builds PE windows executables! > > > > The question is: > > *how can I get and build an older version of ld source, so that this > works > > again in cygwin ?* > > *Is it possible?* > > *or should I give up developping this kernel using windows and cygwin and > > turn back to Linux?* > > $ ld --help | egrep 'elf|386' > ld: supported targets: pe-x86-64 pei-x86-64 pe-bigobj-x86-64 > elf64-x86-64 elf64-l1om elf64-k1om pe-i386 pei-i386 elf32-i386 > elf32-iamcu elf64-little elf64-big elf32-little elf32-big srec > symbolsrec verilog tekhex binary ihex plugin > ld: supported emulations: i386pep i386pe > i386pep: > i386pe: > > Package binutils ld still supports elf32-i386 but not emulation. > > For now you can still roll back to 2.36 and see if that supports the > target and emulation you are using; you may also have to roll back its > dependencies: > > depends2: cygwin, libintl8, zlib0 > > You can also still download the earlier Cygwin source package and > maintain that as an effective fork. > Older source package build control script definitions and patches are > available under: > > https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/binutils.git > > and you may need earlier releases of build tools: > > build-depends: cygport, dejagnu, libgmp-devel, libiconv-devel, > libintl-devel, libisl-devel, libmpc-devel, libmpfr-devel, zlib-devel > > Older Cygwin Setup and package releases remain available at the Cygwin > Time Machine: > > http://www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html > > As Cygwin is a rolling release system, you need to pay attention to > announcement notices of test and stable releases of packages on which > your work depends. > New bug fix releases can quickly roll somewhat older releases out of the > available archives. > > -- > Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada > > This email may be disturbing to some readers as it contains > too much technical detail. Reader discretion is advised. > [Data in binary units and prefixes, physical quantities in SI.] >