Commit c03de3bc authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

2.32.28: support prepending symbols on CCL images.

Useful for use with oprofile or perf.
parent be50554a
......@@ -74,7 +74,7 @@
:licence "MIT"
:description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.32.27" ;; to be automatically updated by make bump-version
:version "2.32.28" ;; to be automatically updated by make bump-version
:depends-on ()
#+asdf3 :encoding #+asdf3 :utf-8
;; For most purposes, asdf itself specially counts as a builtin system.
......
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.32.27: Another System Definition Facility.
;;; This is ASDF 2.32.28: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
......
......@@ -255,7 +255,7 @@ if we are not called from a directly executable image."
(defun dump-image (filename &key output-name executable
((:postlude *image-postlude*) *image-postlude*)
((:dump-hook *image-dump-hook*) *image-dump-hook*)
#+clozure (prepend-kernel t))
#+clozure (prepend-symbols t))
(declare (ignorable filename output-name executable))
(setf *image-dumped-p* (if executable :executable t))
(setf *image-restored-p* :in-regress)
......@@ -280,8 +280,16 @@ if we are not called from a directly executable image."
;; :parse-options nil ;--- requires a non-standard patch to clisp.
:norc t :script nil :init-function #'restore-image)))
#+clozure
(ccl:save-application filename :prepend-kernel prepend-kernel
:toplevel-function (when executable #'restore-image))
(flet ((dump (prepend-kernel)
(ccl:save-application filename :prepend-kernel prepend-kernel
:toplevel-function (when executable #'restore-image))))
;;(setf ccl::*application* (make-instance 'ccl::lisp-development-system))
(if prepend-symbols
(with-temporary-file (:prefix "ccl-symbols-" :direction :output :pathname path)
(require 'elf)
(funcall 'ccl::write-elf-symbols-to-file path)
(dump path))
(dump t)))
#+(or cmu scl)
(progn
(ext:gc :full t)
......@@ -309,10 +317,10 @@ if we are not called from a directly executable image."
'dump-image filename (nth-value 1 (implementation-type))))
(defun create-image (destination object-files
&key kind output-name prologue-code epilogue-code
&key kind output-name prologue-code epilogue-code
(prelude () preludep) (postlude () postludep)
(entry-point () entry-point-p) build-args)
(declare (ignorable destination object-files kind output-name prologue-code epilogue-code
(declare (ignorable destination object-files kind output-name prologue-code epilogue-code
prelude preludep postlude postludep entry-point entry-point-p build-args))
;; Is it meaningful to run these in the current environment?
;; only if we also track the object files that constitute the "current" image,
......
......@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
(asdf-version "2.32.27")
(asdf-version "2.32.28")
(existing-version (asdf-version)))
(setf *asdf-version* asdf-version)
(when (and existing-version (not (equal asdf-version existing-version)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment