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?* Thanks in advance. Ronaldo Alonso - Computer Engeneer and professor Federal University of Mato Grosso Brazil. -- 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