/[cmucl]/src/tools/linker.sh
ViewVC logotype

Log of /src/tools/linker.sh

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to cross-sparc-branch: (view) (annotate)
Sticky Tag:

Revision 1.15 - (view) (annotate) - [select for diffs]
Wed Sep 8 12:06:23 2010 UTC (3 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, snapshot-2010-11, snapshot-2010-12
Branch point for: cross-sol-x86-branch, cross-sparc-branch
Changes since 1.14: +112 -125 lines
Diff to previous 1.14
Rename linker-x86.sh to linker.sh.

lisp/elf.h:
o Set LINKER_SCRIPT to linker.sh

tools/make-main-dist.sh:
o Don't copy linker-x86.sh to the distribution anymore.

tools/linker.sh:
o Copied contents of linker-x86.sh to here.

Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Jul 29 04:34:10 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: release-20b-pre1, release-20b-pre2, snapshot-2010-08
Branch point for: RELEASE-20B-BRANCH
Changes since 1.13: +2 -2 lines
Diff to previous 1.13
Change how we build executables for Linux.  We no longer need the
hairy and fragile linker script.  Instead, we can use regular old gcc
to do what we need.

(Should also work for FreeBSD, but not yet implemented.)

lisp/elf.c:
o Include validate.h so we can get the starting addresses of the
  read-only, static, and dynamic spaces.
o Add special case for linux to run the linker script correctly.

lisp/elf.h:
o There's a separate linker script for Linux.

lisp/save.c:
o Temporarily don't run elf_cleanup so we can have easier
  testing/debugging.

tools/linker.sh:
o Don't need BIFLAG anymore.

tools/make-main-dist.sh:
o Install linker-x86.sh.

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Jul 29 01:51:12 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.12: +4 -5 lines
Diff to previous 1.12
Change how Solaris executables set up builtin_image_flag.  Instead of
having the address of builtin_image_flag set to some (random) address
of mapped memory that is non-zero, we add a special file to lisp.a
that defines builtin_image_flag to 1.

lisp/Config.sparc_common:
o Define EXEC_FINAL_OBJ

lisp/GNUmakefile:
o Make lisp.a depend on EXEC_FINAL_OBJ
o On Solaris, add EXEC_FINAL_OBJ to lisp.a.

tools/SunOS-cmucl-linker-script:
o Remove the line setting the address of builtin_image_flag.

tools/linker.sh:
o For Solaris, we don't need to define BIFLAG; the builtin_image_flag
  is automatically set correctly by linking in lisp.a

Revision 1.12 - (view) (annotate) - [select for diffs]
Wed Jul 28 01:21:31 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.11: +3 -2 lines
Diff to previous 1.11
Need to strip off any directory from the path to get the output file
name because we cd to the directory already.

Revision 1.11 - (view) (annotate) - [select for diffs]
Tue Jul 27 03:21:40 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.10: +5 -4 lines
Diff to previous 1.10
Update previous change for sparc.

Revision 1.10 - (view) (annotate) - [select for diffs]
Tue Jul 27 02:35:26 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.9: +6 -6 lines
Diff to previous 1.9
lisp/elf.c:
o Print out the size of Elf_Ehdr and Elf32_Phdr, for debugging.
o Pass the address of main to the linker script.  We will use the
  first word of main as the address of builtin_image_flag.  It seems
  highly unlikely that this would have have the value 0.

tools/Linux-cmucl-linker-script:
o Hardwire the value of SIZEOF_HEADERS.  This is needed on Debian to
  get the right number of segments.
o Comment out some items and/or fix them so that Debian's linker
  doesn't complain.  Doesn't appear to do any harm on openSuSE 11.2.

tools/linker.sh:
o Update for the additional argument for the address of main to use as
  the address of builtin_image_flag.

Revision 1.9 - (view) (annotate) - [select for diffs]
Mon Jul 26 19:07:56 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.8: +4 -3 lines
Diff to previous 1.8
The generated linker script was placed in the wrong directory and ld
could not find it.  Put it in the same directory as executable, and
delete it when done.

Revision 1.8 - (view) (annotate) - [select for diffs]
Mon Sep 28 12:32:42 2009 UTC (4 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: amd64-dd-start, intl-2-branch-base, intl-branch-2010-03-18-1300, intl-branch-base, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000, post-merge-intl-branch, pre-merge-intl-branch, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, snapshot-2010-04, snapshot-2010-05, snapshot-2010-06, snapshot-2010-07, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: amd64-dd-branch, intl-2-branch, intl-branch, sparc-tramp-assem-branch
Changes since 1.7: +6 -1 lines
Diff to previous 1.7
From A.M.Raportirenko, on cmucl-imp, Sep 25, 2009: dirname
destructively modifies its argument.

lisp/save.c:
o Call dirname once, saving the result, and use it everywhere.

Revision 1.7 - (view) (annotate) - [select for diffs]
Tue Aug 14 15:57:48 2007 UTC (6 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, pre-telent-clx, release-19d, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, snapshot-2009-07, snapshot-2009-08, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-snapshot-2009-05, unicode-snapshot-2009-06, unicode-string-buffer-base, unicode-string-buffer-impl-base, unicode-utf16-base, unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmt-2009-06-11, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: RELEASE-19F-BRANCH, RELEASE-20A-BRANCH, portable-clx-branch, release-19e-branch, sse2-branch, sse2-packed-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.6: +46 -18 lines
Diff to previous 1.6
Add support for executable stuff using Sun C on sparc.  The executable
appears to be created successfully, and you can do things, but it is
not usable.

lisp/elf.h:
o Set C_COMPILER to either "cc" or "gcc".  We use gcc everywhere,
  except if the C compiler is Sun C on sparc.

lisp/elf.c:
o Print out C_COMPILER as the first arg to the linker script.

tools/linker.sh:
o Rearrange code so test for number of args is done first.
o Look at the first arg to determine the C compiler used.  If gcc, use
  the original code.  Add new code to support Sun C.

Revision 1.6 - (view) (annotate) - [select for diffs]
Wed Jul 25 16:33:16 2007 UTC (6 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2007-08
Changes since 1.5: +3 -1 lines
Diff to previous 1.5
Remove the sunos-map-file when linker.sh exits.

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Jul 24 19:09:16 2007 UTC (6 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.4: +41 -22 lines
Diff to previous 1.4
Add initial support executables on Solaris with gcc.  Executables are
created and will run, but you can't load new files.  Still needs work.

src/exec-init.c:
o New file that defines builtin_image_flag and initial_function_addr,
  instead of being defined in lisp.c

code/sunos-os.lisp:
o Register the :executable feature if needed.

lisp/GNUmakefile:
o Add exec-init.c to list of src files.
o Remove exec-init.o from lisp.a when building on Solaris.

lisp/elf.c:
o Port the elf code to Solaris.
  - Basically set up the correct values for the elf header and
    sections.
  - The ELF core sections on Solaris don't have valid addresses so we
    explicitly set them when mapping the core sections.

lisp/elf.h
o Use SOLARIS instead of sparc.

lisp/lisp.c:
o builtin_image_flag and initial_function_addr moved to exec-init.c.

tools/linker.sh:
o Support Solaris

tools/make-main-dist.sh:
o Support Solaris

tools/SunOS-cmucl-linker-script:
o New file for SunOS executable.

Revision 1.4 - (view) (annotate) - [select for diffs]
Wed Jul 18 15:05:34 2007 UTC (6 years, 9 months ago) by fgilham
Branch: MAIN
Changes since 1.3: +12 -3 lines
Diff to previous 1.3
Add special case for x86_64 to linker.sh.

Revision 1.3 - (view) (annotate) - [select for diffs]
Tue Jul 17 15:25:14 2007 UTC (6 years, 9 months ago) by fgilham
Branch: MAIN
Changes since 1.2: +5 -52 lines
Diff to previous 1.2
Simplify finding C runtime object files.  Suggested by Ray Toy.

Revision 1.2 - (view) (annotate) - [select for diffs]
Thu Jul 12 04:50:22 2007 UTC (6 years, 9 months ago) by fgilham
Branch: MAIN
Changes since 1.1: +76 -26 lines
Diff to previous 1.1
Fix script so it will work with different versions of Linux (with any luck).

Revision 1.1 - (view) (annotate) - [select for diffs]
Sat Jul 7 16:00:49 2007 UTC (6 years, 9 months ago) by fgilham
Branch: MAIN
Add linker script for building Lisp executables.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5