Estimado Quim,
El archivo null.map que mencionas parece ser un archivo de mapa generado por el enlazador (linker) durante el proceso de compilaci贸n con Harbour 3.2.0dev (r2502110321) y BCC 7.70 al usar hbmk2. Estos archivos .map suelen contener informaci贸n sobre las secciones de memoria del ejecutable resultante, como las que indicas (_TEXT, _DATA, _BSS, _TLS), que corresponden al c贸digo, datos inicializados, datos no inicializados y datos espec铆ficos de subprocesos, respectivamente. Su presencia no afecta el funcionamiento del ejecutable, como bien notas, pero su aparici贸n repentina tras la actualizaci贸n puede ser una peculiaridad del entorno o una configuraci贸n impl铆cita en la nueva versi贸n de Harbour o en c贸mo hbmk2 interact煤a con el enlazador de BCC.
En proyectos con hbmk2, este comportamiento podr铆a estar relacionado con c贸mo el script de construcci贸n invoca al enlazador de Borland (BCC), que por defecto puede estar generando este archivo de mapa incluso si no se especifica expl铆citamente. En contraste, tus proyectos con FWH que usan makefile no muestran este archivo, probablemente porque el proceso de enlace est谩 configurado de manera diferente, omitiendo la generaci贸n del archivo de mapa o redirigi茅ndolo a otro nombre o ubicaci贸n.
Aqu铆 hay algunas posibles razones y pasos para investigar o resolver esta "curiosidad":
Cambio en Harbour o hbmk2: La versi贸n espec铆fica de Harbour 3.2.0dev (r2502110321) podr铆a haber introducido un ajuste en hbmk2 que activa la generaci贸n de archivos de mapa por defecto al usar BCC 7.70. Esto no parece estar documentado como un cambio importante, pero podr铆a ser un efecto secundario de alguna actualizaci贸n en el manejo de opciones del enlazador.
Configuraci贸n del enlazador de BCC: El enlazador de Borland (ilink32.exe o similar) genera archivos .map si se le pasa la opci贸n -M (o si esta se activa impl铆citamente). El nombre null.map sugiere que no se especific贸 un nombre expl铆cito para el archivo de mapa, y el enlazador usa un valor predeterminado (null). Puedes verificar esto ejecutando hbmk2 con la opci贸n -trace para inspeccionar los comandos exactos que se pasan al enlazador.
Diferencia entre hbmk2 y makefiles: En tus proyectos FWH con makefile, es probable que el proceso de enlace est茅 configurado para no generar el archivo .map (por ejemplo, omitiendo la opci贸n -M) o para nombrarlo de acuerdo con el proyecto (como <nombre>.map). Con hbmk2, si no se especifica una opci贸n expl铆cita para controlar esto, el comportamiento por defecto del enlazador podr铆a ser el culpable.
驴Qu茅 puedes hacer?
Confirmar el origen: Ejecuta tu comando hbmk2 con -trace (por ejemplo, hbmk2 tu_proyecto.hbp -trace) y revisa la salida para ver si el enlazador est谩 recibiendo una instrucci贸n que genera el archivo .map. Busca algo como -M o una opci贸n similar en la l铆nea de comando del enlazador.
Desactivar la generaci贸n del archivo: Si no necesitas el archivo .map, puedes intentar pasarle una opci贸n al enlazador a trav茅s de hbmk2. Por ejemplo, agrega -ldflag=-M- a tu comando o archivo .hbp para intentar desactivar la generaci贸n del mapa (aunque la sintaxis exacta depende del enlazador de BCC). Consulta la documentaci贸n de ilink32.exe para confirmar las opciones disponibles.
Especificar un nombre personalizado: Si prefieres que el archivo .map tenga un nombre 煤til en lugar de null.map, puedes usar la opci贸n -map en hbmk2 para definirlo expl铆citamente (por ejemplo, -map=mi_proyecto.map).
Revisar cambios en Harbour: Dado que esto comenz贸 tras actualizar a r2502110321, podr铆as revisar el registro de cambios (ChangeLog) de Harbour en el repositorio oficial para ver si hay menciones sobre modificaciones en hbmk2 o en el soporte para BCC que expliquen este comportamiento.
驴A alguien m谩s le ha pasado?
No hay reportes espec铆ficos y masivos sobre este fen贸meno con Harbour 3.2.0dev (r2502110321) y BCC 7.70 en la comunidad, pero es posible que otros usuarios de BCC y hbmk2 hayan notado algo similar y no lo hayan considerado un problema digno de menci贸n, especialmente porque, como dices, no afecta el resultado final. La aparici贸n de null.map parece m谩s una curiosidad t茅cnica que un error grave.
Si decides investigarlo m谩s a fondo y encuentras la causa exacta (por ejemplo, una opci贸n predeterminada en hbmk2), podr铆as compartirlo con la comunidad de Harbour para documentarlo. Por ahora, si no te molesta su presencia, puedes ignorarlo sin preocupaciones, ya que no tiene impacto funcional.