IRC channel logs

2023-03-27.log

back to list of logs

<jormundgand>I've been trying to build gnumach, but it seems I'm doing something wrong. There's a reference to KERNEL_MAP_BASE in i386/i386/vm_param.h, which seems to neither exist in mach or mig.
<jormundgand>And I can't find anything that explains what this is supposed to be. I assume it's where it's supposed to be loaded by the bootloader?
<luckyluke>jormundgand: KERNEL_MAP_BASE is used only for 64-bit builds, it's the virtual memory offset where the kernel region starts. it's defined in x86_64/Makefrag.am
<luckyluke>how do you build gnumach?
<jormundgand>I followed the guide on the wiki
<jormundgand>I had to modify PATH to include ~/gnu/bin, so I could get mig, but otherwise, it was just doing exactly what the guide said.
<jormundgand>I hacked the resulting makefile. -m32 wasn't added to the cflags, so I just added it manually.
<jormundgand>I get an error in i386/i386at/model_dep.c. Probably stemming from the same root cause.
<jormundgand>Sorry. Warning. Two of them, so that's 1½ error.
<luckyluke>jormundgand: which guide exactly? I think there is more than one
<luckyluke>in the READMEs of both gnumach and mig there are also some instructions on how to build the 32-bit version, either with a cross-compiler or using -m32
<jormundgand>Yeah. I got that. I set CFLAGS, CXXFLAGS and LDFLAGS to include -m32.
<jormundgand>Tried a bunch of different options. I'm down to what I assume are autogenerated file from mig, that want points to be 8 bytes wide.
<jormundgand>*pointers
<jormundgand>So it seems there are still some wonkiness with 64 bit infecting my build.
<luckyluke>it could be that you build mig targeting 64-bit, you can also set TARGET_CPPFLAGS=-m32 only, if you want to build a 64-bit executable which generates code for 32-bit rpc
<jormundgand>I'll try that.