<html lang='en'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<title>
GitLab
</title>
</meta>
</head>
<style>
  img {
    max-width: 100%;
    height: auto;
  }
  p.details {
    font-style:italic;
    color:#777
  }
  .footer p {
    font-size:small;
    color:#777
  }
  pre.commit-message {
    white-space: pre-wrap;
  }
  .file-stats a {
    text-decoration: none;
  }
  .file-stats .new-file {
    color: #090;
  }
  .file-stats .deleted-file {
    color: #B00;
  }
</style>
<body>
<div class='content'>
<h3>Raymond Toy pushed to branch master at <a href="https://gitlab.common-lisp.net/cmucl/cmucl">cmucl / cmucl</a></h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/20abbd7c903455c9909ccdada30c45937ee6af21">20abbd7c</a></strong>
<div>
<span>by Raymond Toy</span>
<i>at 2015-10-04T20:26:12Z</i>
</div>
<pre class='commit-message'>Support asdf's static-image-op.

* src/lisp/GNUMakefile
    * Don't add exec-final.o to lisp.a.  (But still remove exec-init.o
      from it.)
* src/tools/linker.sh
    * When linking the executable, need to link exec-final.o too.
* bin/make-main-dist.sh
    * Need to install exec-init.o and exec-final.o.  exec-init.o is
      needed to link a normal lisp; exec-final.o is used for the
      executable image.
    * Fix modes on some installed files.  exec-init.o, exec-final.o,
      and lisp.a don't need to be executable.</pre>
</li>
</ul>
<h4>3 changed files:</h4>
<ul>
<li class='file-stats'>
<a href='#diff-0'>
bin/make-main-dist.sh
</a>
</li>
<li class='file-stats'>
<a href='#diff-1'>
src/lisp/GNUmakefile
</a>
</li>
<li class='file-stats'>
<a href='#diff-2'>
src/tools/linker.sh
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id='diff-0'>
<a href='https://gitlab.common-lisp.net/cmucl/cmucl/commit/20abbd7c903455c9909ccdada30c45937ee6af21#diff-0'>
<strong>
bin/make-main-dist.sh
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/bin/make-main-dist.sh
</span><span style="color: #000000;background-color: #ddffdd">+++ b/bin/make-main-dist.sh
</span><span style="color: #aaaaaa">@@ -96,7 +96,9 @@ install -d ${GROUP} ${OWNER} -m 0755 $DESTDIR/${MANDIR}
</span> install ${GROUP} ${OWNER} -m 0755 $TARGET/lisp/lisp $DESTDIR/bin/
 if [ "$EXECUTABLE" = "true" ]
 then
<span style="color: #000000;background-color: #ffdddd">-    install ${GROUP} ${OWNER} -m 0755 $TARGET/lisp/lisp.a $DESTDIR/lib/cmucl/lib/
</span><span style="color: #000000;background-color: #ddffdd">+    install ${GROUP} ${OWNER} -m 0555 $TARGET/lisp/lisp.a $DESTDIR/lib/cmucl/lib/
+    install ${GROUP} ${OWNER} -m 0555 $TARGET/lisp/exec-init.o $DESTDIR/lib/cmucl/lib/
+    install ${GROUP} ${OWNER} -m 0555 $TARGET/lisp/exec-final.o $DESTDIR/lib/cmucl/lib/
</span>     install ${GROUP} ${OWNER} -m 0755 src/tools/linker.sh $DESTDIR/lib/cmucl/lib/
     if [ -f src/tools/$SCRIPT-cmucl-linker-script ]; then
        install ${GROUP} ${OWNER} -m 0755 src/tools/$SCRIPT-cmucl-linker-script $DESTDIR/lib/cmucl/lib/
</code></pre>

<br>
</li>
<li id='diff-1'>
<a href='https://gitlab.common-lisp.net/cmucl/cmucl/commit/20abbd7c903455c9909ccdada30c45937ee6af21#diff-1'>
<strong>
src/lisp/GNUmakefile
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/src/lisp/GNUmakefile
</span><span style="color: #000000;background-color: #ddffdd">+++ b/src/lisp/GNUmakefile
</span><span style="color: #aaaaaa">@@ -52,21 +52,15 @@ version.o : version.c version
</span>   $(CC) ${CFLAGS} $(CPPFLAGS) -DVERSION=`cat version` -c $<
 
 lisp: ${OBJS} version.o
<span style="color: #000000;background-color: #ffdddd">-        $(CC) -g ${OS_LINK_FLAGS} -o ,lisp \
-               ${OBJS} version.o \
-               ${OS_LIBS} -lm
</span><span style="color: #000000;background-color: #ddffdd">+   $(CC) -g ${OS_LINK_FLAGS} -o ,lisp $^ ${OS_LIBS} -lm
</span>   mv -f ,lisp lisp
 
 # Create a library out of all the object files so we can build an
 # executable.  However, we need to remove exec-init.o from the library
<span style="color: #000000;background-color: #ffdddd">-# and replace it with exec-final.o because exec-final.o sets the
-# builtin_image_flag to 1 so that the runtime knows the runtime
-# contains the core sections.
</span> lisp.a:   version.o ${OBJS} ${EXEC_FINAL_OBJ}
        $(AR) crs lisp.a ${OBJS} version.o
 ifneq (${EXEC_FINAL_OBJ},)
        $(AR) d lisp.a exec-init.o
<span style="color: #000000;background-color: #ffdddd">-        $(AR) r lisp.a ${EXEC_FINAL_OBJ}
</span> endif
 
 version:
</code></pre>

<br>
</li>
<li id='diff-2'>
<a href='https://gitlab.common-lisp.net/cmucl/cmucl/commit/20abbd7c903455c9909ccdada30c45937ee6af21#diff-2'>
<strong>
src/tools/linker.sh
</strong>
</a>
<hr>
<pre class="highlight"><code><span style="color: #000000;background-color: #ffdddd">--- a/src/tools/linker.sh
</span><span style="color: #000000;background-color: #ddffdd">+++ b/src/tools/linker.sh
</span><span style="color: #aaaaaa">@@ -139,5 +139,5 @@ trap 'rm -f $OUTDIR/$OPT_IFADDR $OUTDIR/CORRO.o $OUTDIR/CORSTA.o $OUTDIR/CORDYN.
</span> 
 (cd $OUTDIR
 echo "long initial_function_addr = $IFADDR;" > $OPT_IFADDR
<span style="color: #000000;background-color: #ffdddd">-$CCOMPILER -m32 -o $OUTNAME $OPT_IFADDR $OPT_ARCHIVE $OPT_CORE $RO_ADDR $STATIC_ADDR $DYN_ADDR $OPT_EXTRA $OS_LIBS -lm)
</span><span style="color: #000000;background-color: #ddffdd">+$CCOMPILER -m32 -o $OUTNAME $OPT_IFADDR $OPT_ARCHIVE $CMUCLLIB/exec-final.o $OPT_CORE $RO_ADDR $STATIC_ADDR $DYN_ADDR $OPT_EXTRA $OS_LIBS -lm)
</span> 
</code></pre>

<br>
</li>

</div>
<div class='footer' style='margin-top: 10px;'>
<p>

<br>
<a href="https://gitlab.common-lisp.net/cmucl/cmucl/commit/20abbd7c903455c9909ccdada30c45937ee6af21">View it on GitLab</a>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.common-lisp.net/cmucl/cmucl/commit/20abbd7c903455c9909ccdada30c45937ee6af21"}}</script>
</p>
</div>
</body>
</html>