Long-Term Supported Versions

    Innovation Versions

      Constraints

      Version Constraints

      OS version: openEuler 22.03 LTS SP1 or SP2 Architecture: x86 or AArch64

      Application Constraints

      Currently, user-mode patches support only Redis and Nginx.

      Note:

      1. Currently, each software needs to be adapted to process the LINE macro. Currently, only Redis and Nginx are adapted. Other software that is not adapted may cause the patch size to be too large. (Parameters will be introduced in the future to support user adaptation.)
      2. Each user-mode live patch can contain only one ELF file. To fix multiple bugs, you can pass the patch files of multiple bug fixes to the patch making parameters to make a live patch for multiple bugs.

      Language Constraints

      Theoretically, patches are compared at the object file level, which is irrelevant to the programming language. Currently, only the C and C++ languages are tested.

      Others

      • Only 64-bit OSs are supported.
      • Only the ELF format can be hot-patched. Interpreted languages are not supported.
      • Only GCC and G++ compilers are supported.
      • The compiler must support the -gdwarf, -ffunction-sections, and -fdata-sections parameters.
      • The debug information must be in the DWARF format.
      • Cross compilation is not supported.
      • Source files that are in different paths but have the same file name, same global variables, and same functions cannot be recognized.
      • Assembly code, including .S files and inline assembly code, cannot be modified.
      • External symbols (dynamic library dependencies) cannot be added.
      • Multiple patches cannot be applied to the same binary file.
      • Mixed compilation of C and C++ is not supported.
      • C++ exceptions cannot be modified.
      • The -g3 group section compilation option, specific compilation optimization options, and specific GCC plugins are not supported.
      • ifunc cannot be added by using __attribute__((ifunc("foo"))).
      • TLS variables cannot be added by using __thread int foo.

      Bug Catching

      Buggy Content

      Bug Description

      Submit As Issue

      It's a little complicated....

      I'd like to ask someone.

      PR

      Just a small problem.

      I can fix it online!

      Bug Type
      Specifications and Common Mistakes

      ● Misspellings or punctuation mistakes;

      ● Incorrect links, empty cells, or wrong formats;

      ● Chinese characters in English context;

      ● Minor inconsistencies between the UI and descriptions;

      ● Low writing fluency that does not affect understanding;

      ● Incorrect version numbers, including software package names and version numbers on the UI.

      Usability

      ● Incorrect or missing key steps;

      ● Missing prerequisites or precautions;

      ● Ambiguous figures, tables, or texts;

      ● Unclear logic, such as missing classifications, items, and steps.

      Correctness

      ● Technical principles, function descriptions, or specifications inconsistent with those of the software;

      ● Incorrect schematic or architecture diagrams;

      ● Incorrect commands or command parameters;

      ● Incorrect code;

      ● Commands inconsistent with the functions;

      ● Wrong screenshots.

      Risk Warnings

      ● Lack of risk warnings for operations that may damage the system or important data.

      Content Compliance

      ● Contents that may violate applicable laws and regulations or geo-cultural context-sensitive words and expressions;

      ● Copyright infringement.

      How satisfied are you with this document

      Not satisfied at all
      Very satisfied
      Submit
      Click to create an issue. An issue template will be automatically generated based on your feedback.
      Bug Catching
      编组 3备份