This content has been marked as final. Show 3 replies
I suspect that somehow ARCH is being defined to be i586, either in the environment or by an upper level Makefile, and the hotspot makefiles are accepting this instead of using their own idea of ARCH. The hotspot makefiles should have used a name like HOTSPOT_ARCH, :^( In the hotspot makefiles it will be important that ARCH=i486. Have you got ARCH defined in the environment to be i586? If so, can you undefine it? Oh, and you aren't using that horrible 'make -e' option are you? The -e option has never mixed well with the JDK makefiles. -kto
Thanks, you are right. What appears to happen is that ARCH is set in j2se\make\common\shared\Platform.gmk, which is included in the main Makefile by being included in control\make\common\Defs.gmk. The top level hotspot makefile does in fact set an "HS_ARCH" variable and use it in some places. However, it gets ignored in hotspot\build\windows\build.make, which uses ARCH, and only sets ARCH if it hasn't already been defined. Question: if this isn't hitting folks en masse, is it because most people build piece by piece, rather than starting at control\make?
I'm not able to reproduce this problem. I can't see any ARCH value being passed into the hotspot makefiles from the control/make makefiles. For ARCH to be pre-defined in the hotspot build.make file, it seems like it has to be coming from your environment variables somehow. Try 'env|grep -i arch' and see if you have any environment variables with the name ARCH (upper or lower case). In the meantime, I'll check into fixing the hotspot makefiles. -kto