Novedades de Solaris Express Developer Edition

Editor de vínculos ld para archivos de objetos

Esta mejora de las herramientas de desarrollo es una novedad de Solaris Express 8/06.

A partir de esta versión, se ha modificado el comportamiento del comando ld al crear una nueva versión de un archivo de salida existente. Con este cambio se resuelve un antiguo problema en el modo en que los archivos de salida del vinculador interactúan con los programas en ejecución que utilizan de forma simultánea la versión antigua de dichos archivos.

Si el archivo que crea ld ya existe, el archivo existente se desvincula una vez procesados todos los archivos de entrada. A continuación, se crea un nuevo archivo con el nombre especificado. Este comportamiento permite al comando ld crear una nueva versión del archivo, a la vez que permite que se sigan ejecutando los procesos existentes que acceden al contenido de los archivos antiguos. Si el archivo antiguo no tiene otros vínculos, se libera el espacio del disco cuando finaliza el último proceso que hace referencia al archivo.

En las versiones anteriores a Solaris Express 8/06, el archivo existente no estaba vinculado y se sobrescribía. No obstante, con este enfoque se corría el riesgo de dañar algún proceso en ejecución que estuviera utilizando el archivo.

Para más información, consulte la página del comando man ld(1).


Nota –

El nuevo comportamiento del comando ld tiene una implicación para los archivos de salida que tienen varios vínculos físicos en el sistema. Antes, todos los vínculos permanecerían intactos y accederían al contenido de los nuevos archivos. El nuevo comportamiento del comando ld "rompe" dichos vínculos, con la consecuencia de que sólo el nombre del archivo de salida especificado hace referencia al nuevo archivo. Todos los demás vínculos siguen haciendo referencia al archivo antiguo. Para garantizar un comportamiento coherente en cualquier versión de Solaris, las aplicaciones que dependen de varios vínculos físicos a archivos de salida del vinculador deberían eliminar de forma explícita los otros nombres de archivos y volver a vincularlos.