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.ing...@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.] > -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple