Index: wrk-4.2.0/obj/LuaJIT-2.1/.gitattributes =================================================================== --- /dev/null +++ wrk-4.2.0/obj/LuaJIT-2.1/.gitattributes @@ -0,0 +1 @@ +/.relver export-subst Index: wrk-4.2.0/obj/LuaJIT-2.1/.relver =================================================================== --- /dev/null +++ wrk-4.2.0/obj/LuaJIT-2.1/.relver @@ -0,0 +1 @@ +$Format:%ct$ Index: wrk-4.2.0/obj/LuaJIT-2.1/COPYRIGHT =================================================================== --- wrk-4.2.0.orig/obj/LuaJIT-2.1/COPYRIGHT +++ wrk-4.2.0/obj/LuaJIT-2.1/COPYRIGHT @@ -1,7 +1,7 @@ =============================================================================== LuaJIT -- a Just-In-Time Compiler for Lua. https://luajit.org/ -Copyright (C) 2005-2021 Mike Pall. All rights reserved. +Copyright (C) 2005-2023 Mike Pall. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal Index: wrk-4.2.0/obj/LuaJIT-2.1/Makefile =================================================================== --- wrk-4.2.0.orig/obj/LuaJIT-2.1/Makefile +++ wrk-4.2.0/obj/LuaJIT-2.1/Makefile @@ -10,16 +10,21 @@ # For MSVC, please follow the instructions given in src/msvcbuild.bat. # For MinGW and Cygwin, cd to src and run make with the Makefile there. # -# Copyright (C) 2005-2021 Mike Pall. See Copyright Notice in luajit.h +# Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h ############################################################################## MAJVER= 2 MINVER= 1 -RELVER= 0 -PREREL= -beta3 -VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL) ABIVER= 5.1 +# LuaJIT uses rolling releases. The release version is based on the time of +# the latest git commit. The 'git' command must be available during the build. +RELVER= $(shell cat src/luajit_relver.txt 2>/dev/null || : ) +# Note: setting it with := doesn't work, since it will change during the build. + +MMVERSION= $(MAJVER).$(MINVER) +VERSION= $(MMVERSION).$(RELVER) + ############################################################################## # # Change the installation path as needed. This automatically adjusts @@ -33,9 +38,10 @@ DPREFIX= $(DESTDIR)$(PREFIX) INSTALL_BIN= $(DPREFIX)/bin INSTALL_LIB= $(DPREFIX)/$(MULTILIB) INSTALL_SHARE= $(DPREFIX)/share -INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER) +INSTALL_DEFINC= $(DPREFIX)/include/luajit-$(MMVERSION) +INSTALL_INC= $(INSTALL_DEFINC) -INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION) +INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(MMVERSION) INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit INSTALL_LMODD= $(INSTALL_SHARE)/lua INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER) @@ -49,10 +55,10 @@ INSTALL_TSYMNAME= luajit INSTALL_ANAME= libluajit-$(ABIVER).a INSTALL_SOSHORT1= libluajit-$(ABIVER).so INSTALL_SOSHORT2= libluajit-$(ABIVER).so.$(MAJVER) -INSTALL_SONAME= $(INSTALL_SOSHORT2).$(MINVER).$(RELVER) +INSTALL_SONAME= libluajit-$(ABIVER).so.$(VERSION) INSTALL_DYLIBSHORT1= libluajit-$(ABIVER).dylib INSTALL_DYLIBSHORT2= libluajit-$(ABIVER).$(MAJVER).dylib -INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib +INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(VERSION).dylib INSTALL_PCNAME= luajit.pc INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME) @@ -77,7 +83,11 @@ INSTALL_F= install -m 0644 UNINSTALL= $(RM) LDCONFIG= ldconfig -n 2>/dev/null SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \ - -e "s|^multilib=.*|multilib=$(MULTILIB)|" + -e "s|^multilib=.*|multilib=$(MULTILIB)|" \ + -e "s|^relver=.*|relver=$(RELVER)|" +ifneq ($(INSTALL_DEFINC),$(INSTALL_INC)) + SED_PC+= -e "s|^includedir=.*|includedir=$(INSTALL_INC)|" +endif FILE_T= luajit FILE_A= libluajit.a @@ -88,7 +98,10 @@ FILES_INC= lua.h lualib.h lauxlib.h luac FILES_JITLIB= bc.lua bcsave.lua dump.lua p.lua v.lua zone.lua \ dis_x86.lua dis_x64.lua dis_arm.lua dis_arm64.lua \ dis_arm64be.lua dis_ppc.lua dis_mips.lua dis_mipsel.lua \ - dis_mips64.lua dis_mips64el.lua vmdef.lua + dis_mips64.lua dis_mips64el.lua \ + dis_mips64r6.lua dis_mips64r6el.lua \ + dis_riscv.lua dis_riscv64.lua \ + vmdef.lua ifeq (,$(findstring Windows,$(OS))) HOST_SYS:= $(shell uname -s) @@ -109,9 +122,9 @@ endif INSTALL_DEP= src/luajit default all $(INSTALL_DEP): - @echo "==== Building LuaJIT $(VERSION) ====" + @echo "==== Building LuaJIT $(MMVERSION) ====" $(MAKE) -C src - @echo "==== Successfully built LuaJIT $(VERSION) ====" + @echo "==== Successfully built LuaJIT $(MMVERSION) ====" install: $(INSTALL_DEP) @echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ====" @@ -130,18 +143,12 @@ install: $(INSTALL_DEP) $(RM) $(FILE_PC).tmp cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC) cd src/jit && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB) + $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM) @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ====" - @echo "" - @echo "Note: the development releases deliberately do NOT install a symlink for luajit" - @echo "You can do this now by running this command (with sudo):" - @echo "" - @echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)" - @echo "" - uninstall: @echo "==== Uninstalling LuaJIT $(VERSION) from $(PREFIX) ====" - $(UNINSTALL) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC) + $(UNINSTALL) $(INSTALL_TSYM) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC) for file in $(FILES_JITLIB); do \ $(UNINSTALL) $(INSTALL_JITLIB)/$$file; \ done @@ -155,8 +162,9 @@ uninstall: ############################################################################## amalg: - @echo "Building LuaJIT $(VERSION)" + @echo "==== Building LuaJIT $(MMVERSION) (amalgamation) ====" $(MAKE) -C src amalg + @echo "==== Successfully built LuaJIT $(MMVERSION) (amalgamation) ====" clean: $(MAKE) -C src clean Index: wrk-4.2.0/obj/LuaJIT-2.1/README =================================================================== --- wrk-4.2.0.orig/obj/LuaJIT-2.1/README +++ wrk-4.2.0/obj/LuaJIT-2.1/README @@ -1,11 +1,11 @@ -README for LuaJIT 2.1.0-beta3 ------------------------------ +README for LuaJIT 2.1 +--------------------- LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language. Project Homepage: https://luajit.org/ -LuaJIT is Copyright (C) 2005-2021 Mike Pall. +LuaJIT is Copyright (C) 2005-2023 Mike Pall. LuaJIT is free software, released under the MIT license. See full Copyright Notice in the COPYRIGHT file or in luajit.h. Index: wrk-4.2.0/obj/LuaJIT-2.1/README.md =================================================================== --- /dev/null +++ wrk-4.2.0/obj/LuaJIT-2.1/README.md @@ -0,0 +1,31 @@ +# LJRV - LuaJIT RISC-V 64 Port + +LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language, +RISC-V is a free and open ISA enabling a new era of processor innovation. + +## Introduction + +LJRV is a ongoing porting project of LuaJIT to the RISC-V 64-bit architecture by PLCT Lab, ISCAS. +The ultimate goal is to provide a RISC-V 64 LuaJIT implementation and have it upstreamed to the official LuaJIT repository. + +## Progress + +- [x] Interpreter Runtime +- [x] JIT Compiler + +LJRV is still of beta quality, particularly the JIT compiler. +For production usage, we suggests disable the JIT compiler during compilation by setting `XCFLAGS+= -DLUAJIT_DISABLE_JIT` in Makefile or environment variable. + +## Bug Report + +Please report bugs to [Issues](https://github.com/ruyisdk/LuaJIT/issues). + +## Copyright + +LuaJIT is Copyright (C) 2005-2023 Mike Pall. +LuaJIT is free software, released under the MIT license. +See full Copyright Notice in the COPYRIGHT file or in luajit.h. + +LJRV is Copyright (C) 2022-2023 PLCT Lab, ISCAS. Contributed by gns. +LJRV is free software, released under the MIT license. +LJRV is part of RuyiSDK. Index: wrk-4.2.0/obj/LuaJIT-2.1/doc/bluequad-print.css =================================================================== --- wrk-4.2.0.orig/obj/LuaJIT-2.1/doc/bluequad-print.css +++ wrk-4.2.0/obj/LuaJIT-2.1/doc/bluequad-print.css @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Mike Pall. +/* Copyright (C) 2004-2023 Mike Pall. * * You are welcome to use the general ideas of this design for your own sites. * But please do not steal the stylesheet, the layout or the color scheme. Index: wrk-4.2.0/obj/LuaJIT-2.1/doc/bluequad.css =================================================================== --- wrk-4.2.0.orig/obj/LuaJIT-2.1/doc/bluequad.css +++ wrk-4.2.0/obj/LuaJIT-2.1/doc/bluequad.css @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Mike Pall. +/* Copyright (C) 2004-2023 Mike Pall. * * You are welcome to use the general ideas of this design for your own sites. * But please do not steal the stylesheet, the layout or the color scheme. @@ -206,11 +206,9 @@ img.right { .ext { color: #ff8000; } -.new { - font-size: 6pt; - vertical-align: middle; - background: #ff8000; - color: #ffffff; +.note { + padding: 0.5em 1em; + border-left: 3px solid #bfcfff; } #site { clear: both; Index: wrk-4.2.0/obj/LuaJIT-2.1/doc/contact.html =================================================================== --- wrk-4.2.0.orig/obj/LuaJIT-2.1/doc/contact.html +++ wrk-4.2.0/obj/LuaJIT-2.1/doc/contact.html @@ -1,9 +1,9 @@ - + Contact - - + + @@ -37,6 +37,8 @@ FFI Semantics
  • +String Buffers +
  • jit.* Library
  • Lua/C API @@ -44,11 +46,9 @@ Profiler
  • -Status -
  • -FAQ +Status »
  • -Wiki » +FAQ »
  • Mailing List »
  • @@ -84,10 +84,17 @@ xD("fyZKB8xv\"FJytmz8.KAB0u52D")

    +

    +Note: I cannot reply to GMail, Google Workplace, Outlook or Office365 +mail addresses, since they prefer to mindlessly filter out mails sent +from small domains using independent mail servers, such as mine. If you +don't like that, please complain to Google or Microsoft, not me. +

    +

    Copyright

    All documentation is -Copyright © 2005-2021 Mike Pall. +Copyright © 2005-2023 Mike Pall.

    @@ -95,7 +102,7 @@ Copyright © 2005-2021 Mike Pall.
    +

    LuaJIT is fully upwards-compatible with Lua 5.1. It supports all » standard Lua @@ -86,7 +87,7 @@ or LuaJIT.

    LuaJIT extends the standard Lua VM with new functionality and adds -several extension modules. Please note this page is only about +several extension modules. Please note, this page is only about functional enhancements and not about performance enhancements, such as the optimized VM, the faster interpreter or the JIT compiler.

    @@ -195,7 +196,7 @@ usage. See also the

    The generated bytecode is portable and can be loaded on any architecture -that LuaJIT supports, independent of word size or endianess. However the +that LuaJIT supports, independent of word size or endianess. However, the bytecode compatibility versions must match. Bytecode stays compatible for dot releases (x.y.0 → x.y.1), but may change with major or minor releases (2.0 → 2.1) or between any beta release. Foreign @@ -227,7 +228,7 @@ avoids managing backlinks, saves an allo incremental array/hash part growth.

    -Please note this function is meant for very specific situations. In most +Please note, this function is meant for very specific situations. In most cases it's better to replace the (usually single) link with a new table and let the GC do its work.

    @@ -237,7 +238,7 @@ and let the GC do its work. LuaJIT uses a Tausworthe PRNG with period 2^223 to implement math.random() and math.randomseed(). The quality of the PRNG results is much superior compared to the standard Lua -implementation which uses the platform-specific ANSI rand(). +implementation, which uses the platform-specific ANSI rand().

    The PRNG generates the same sequences from the same seeds on all @@ -255,7 +256,7 @@ Important: Neither this nor any other PR

    io.* functions handle 64 bit file offsets

    The file I/O functions in the standard io.* library handle -64 bit file offsets. In particular this means it's possible +64 bit file offsets. In particular, this means it's possible to open files larger than 2 Gigabytes and to reposition or obtain the current file position for offsets beyond 2 GB (fp:seek() method). @@ -392,29 +393,19 @@ the toolchain used to compile LuaJIT: Interoperability -POSIX/x64, DWARF2 unwinding -GCC 4.3+, Clang +External frame unwinding +GCC, Clang, MSVC Full -ARM -DLUAJIT_UNWIND_EXTERNAL -GCC, Clang -Full - - -Other platforms, DWARF2 unwinding +Internal frame unwinding + DWARF2 GCC, Clang Limited - -Windows/x64 -MSVC -Full - -Windows/x86 -Any -Full +Windows 64 bit +non-MSVC +Limited Other platforms @@ -470,7 +461,7 @@ C++ destructors.

    -LuaJIT is only distributed as a source package. This page explains -how to build and install LuaJIT with different operating systems -and C compilers. +LuaJIT is only distributed as source code — get it from the +» git repository. This page explains how to build +and install the LuaJIT binary and library for different operating systems.

    For the impatient (on POSIX systems): @@ -93,62 +88,24 @@ For the impatient (on POSIX systems):

     make && sudo make install
     
    + +

    Requirements

    -LuaJIT currently builds out-of-the box on most systems. -Here's the compatibility matrix for the supported combinations of -operating systems, CPUs and compilers: +LuaJIT currently builds out-of-the box on most systems. Please check the +supported operating systems and CPU architectures on the +» status page. +

    +

    +Building LuaJIT requires a recent toolchain based on GCC, Clang/LLVM or +MSVC++. +

    +

    +The Makefile-based build system requires GNU Make and supports +cross-builds. +

    +

    +Batch files are provided for MSVC++ builds and console cross-builds.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CPU / OSLinux or
    Android
    *BSD, OthermacOS 10.4+ or
    iOS 3.0+
    Windows 7
    or later
    x86 (32 bit)GCC 4.2+GCC 4.2+XCode 5.0+
    Clang
    MSVC
    MinGW, Cygwin
    x64 (64 bit)GCC 4.2+GCC 4.2+
    ORBIS (PS4)
    XCode 5.0+
    Clang
    MSVC
    Durango (Xbox One)
    ARMv5+
    ARM9E+
    GCC 4.2+GCC 4.2+
    PSP2 (PS VITA)
    XCode 5.0+
    Clang
     
    ARM64
    ARM64be
    GCC 4.8+ XCode 6.0+
    Clang 3.5+
     
    PPCGCC 4.3+GCC 4.3+
    GCC 4.1 (PS3)
     XEDK (Xbox 360)
    MIPS32
    MIPS64
    MIPS64r6
    GCC 4.3+GCC 4.3+  

    Configuring LuaJIT

    @@ -157,7 +114,6 @@ Usually there is no need to tweak the se hold all user-configurable settings:

    +

    LuaJIT has only a single stand-alone executable, called luajit on POSIX systems or luajit.exe on Windows. It can be used to run simple @@ -109,6 +110,7 @@ are accepted:

  • -t type — Set output file type (default: auto-detect from output name).
  • -a arch — Override architecture for object files (default: native).
  • -o os — Override OS for object files (default: native).
  • +
  • -F name — Override filename (default: input filename).
  • -e chunk — Use chunk string as input.
  • - (a single minus sign) — Use stdin as input and/or stdout as output.
  • @@ -118,7 +120,8 @@ file name: