From 82752a88b19be8da0758a87139c4048d10bd0d04 Mon Sep 17 00:00:00 2001 From: Common Lisp at Google Date: Sun, 10 Mar 2024 07:51:25 -0700 Subject: [PATCH] whatever PiperOrigin-RevId: 614416114 --- BUILD | 2 +- elfconvert.sh | 16 +++++++++++++--- rule-tests/BUILD | 12 ++++++------ rules.bzl | 2 +- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/BUILD b/BUILD index 2d05c34..a3ddec9 100644 --- a/BUILD +++ b/BUILD @@ -13,8 +13,8 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") -load("@io_bazel_stardoc//stardoc:stardoc.bzl", "stardoc") load("@bazel_tools//tools/build_defs/license:license.bzl", "license") +load("@io_bazel_stardoc//stardoc:stardoc.bzl", "stardoc") package(default_applicable_licenses = ["//:license"]) diff --git a/elfconvert.sh b/elfconvert.sh index 206835c..410f38b 100755 --- a/elfconvert.sh +++ b/elfconvert.sh @@ -11,7 +11,7 @@ case $SAR_ARGV0 in *) sbcl_subdir=k8 esac sbcl=$RUNFILES/google3/third_party/lisp/sbcl/binary-distribution/$sbcl_subdir/bin/sbcl -args=(--noinform --dynamic-space-size 512MB) +args=(--noinform --dynamic-space-size 1GB) mode='(setq *evaluator-mode* :compile)' script=$RUNFILES/google3/third_party/lisp/sbcl/src/tools-for-build/elftool @@ -19,10 +19,20 @@ action=$1 input=$2 output=$3 +compactcore=/tmp/compact-$$.core +tmpcore=/tmp/patched-$$.core +DSS=16384 + case $action in split) - exec $sbcl ${args[@]} --eval "$mode" --load $script --eval \ - '(sb-editcore:split-core "'$input'" "'$output'")' --quit ;; + exec $sbcl ${args[@]} --eval "$mode" --load $script \ + --eval '(sb-editcore:reorganize-core "'$input'" "'$compactcore'")' \ + --eval '(sb-editcore:move-dynamic-code-to-text-space "'$compactcore'" "'$tmpcore'")' \ + --eval '(delete-file "'$compactcore'")' \ + --eval '(sb-editcore:redirect-text-space-calls "'$tmpcore'")' \ + --eval '(sb-editcore:split-core "'$tmpcore'" "'$output'" :dynamic-space-size '$DSS')' \ + --eval '(delete-file "'$tmpcore'")' --quit ;; + copy) exec $sbcl ${args[@]} --eval "$mode" --load $script --eval \ '(sb-editcore::copy-to-elf-obj "'$input'" "'$output'")' --quit ;; diff --git a/rule-tests/BUILD b/rule-tests/BUILD index b7bd32b..2a8df6f 100644 --- a/rule-tests/BUILD +++ b/rule-tests/BUILD @@ -1,4 +1,10 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library") +load( + "//:rules.bzl", + "lisp_binary", + "lisp_library", + "lisp_test", +) load( ":tests.bzl", "DYNSPACE", @@ -12,12 +18,6 @@ load( "lisp_instrumented_files_info_test", "lisp_providers_test", ) -load( - "//:rules.bzl", - "lisp_binary", - "lisp_library", - "lisp_test", -) package(default_applicable_licenses = ["//:license"]) diff --git a/rules.bzl b/rules.bzl index 62da242..6f37ee7 100644 --- a/rules.bzl +++ b/rules.bzl @@ -12,8 +12,8 @@ The three rules defined here are: lisp_test - Outputs a binary that is run with the test command """ -load("@rules_cc//cc:find_cc_toolchain.bzl", "find_cc_toolchain", "use_cc_toolchain") load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") +load("@rules_cc//cc:find_cc_toolchain.bzl", "find_cc_toolchain", "use_cc_toolchain") load( ":provider.bzl", "LispInfo",