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

Reply via email to