Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • rtoy's avatar
    a5cd2c4f
    Some cleanup for Linux executables. The value of the · a5cd2c4f
    rtoy authored
    initial_function_addr is saved to a file and compiled in when linking
    the executable.  This makes building the executable more portable.
    All that's need is a way for gcc to link all of lisp.a and to set the
    starting address of some segments.
    
    lisp/lisp.c:
    o For Linux, use the value of initial_function_addr instead of the
      address.
    
    tools/linker-x86.sh:
    o Disable -x option, unless CMU_DEBUG_LINKER is not empty.
    o Instead of using --defsym feature of GNU ld, save the initial
      function address in a file to be compiled when making the
      executable.
    
    lisp/elf.c:
    o Remove printing of the sizeof elf headers
    o Print some info about the object being written and print somewhat
      neatly.
    
    lisp/save.c:
    o Rework printing info of the core objects.  Let write_elf_object do
      it.
    a5cd2c4f
    History
    Some cleanup for Linux executables. The value of the
    rtoy authored
    initial_function_addr is saved to a file and compiled in when linking
    the executable.  This makes building the executable more portable.
    All that's need is a way for gcc to link all of lisp.a and to set the
    starting address of some segments.
    
    lisp/lisp.c:
    o For Linux, use the value of initial_function_addr instead of the
      address.
    
    tools/linker-x86.sh:
    o Disable -x option, unless CMU_DEBUG_LINKER is not empty.
    o Instead of using --defsym feature of GNU ld, save the initial
      function address in a file to be compiled when making the
      executable.
    
    lisp/elf.c:
    o Remove printing of the sizeof elf headers
    o Print some info about the object being written and print somewhat
      neatly.
    
    lisp/save.c:
    o Rework printing info of the core objects.  Let write_elf_object do
      it.