ವೈಲ್ಡ್ ಲಿಂಕರ್ 0.9

ಬಿಡುಗಡೆ ನಡೆಯಿತು ವೈಲ್ಡ್ ಲಿಂಕರ್ 0.9.0 — ರಸ್ಟ್‌ನಲ್ಲಿ ಬರೆಯಲಾದ ಹೊಸ ಉನ್ನತ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಲಿಂಕರ್. ಬಿಡುಗಡೆಯನ್ನು GitHub ನಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾಗಿದೆ. 23 ಮೇ 2026 ವರ್ಷಗಳಈ ಯೋಜನೆಯನ್ನು ಪುನರಾವರ್ತಿತ ಅಭಿವೃದ್ಧಿಯನ್ನು ವೇಗಗೊಳಿಸಲು ಲಿಂಕ್ ಮಾಡುವವನಾಗಿ ಇರಿಸಲಾಗಿದೆ: ಲೇಖಕರು ಅಂತಿಮವಾಗಿ ಹೆಚ್ಚುತ್ತಿರುವ ಲಿಂಕ್ ಅನ್ನು ಸಾಧಿಸಲು ಬಯಸುತ್ತಾರೆ, ಆದಾಗ್ಯೂ ಇದು ಪ್ರಸ್ತುತ ಆವೃತ್ತಿಯಲ್ಲಿ ಇನ್ನೂ ಕಾರ್ಯಗತಗೊಂಡಿಲ್ಲ. ಕೋಡ್ ಅನ್ನು ಡ್ಯುಯಲ್ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ. ಅಪಾಚೆ 2.0 / MIT.

ವೈಲ್ಡ್ 0.9 ನಲ್ಲಿನ ಪ್ರಮುಖ ಬದಲಾವಣೆಯೆಂದರೆ ಬೆಂಬಲ ಲಿಂಕರ್ ಪ್ಲಗಿನ್ API, ಗೋಲ್ಡ್ ಲಿಂಕರ್‌ನಲ್ಲಿ ಪರಿಚಯಿಸಲಾದ ಇಂಟರ್ಫೇಸ್ ಮತ್ತು GNU ld ಮತ್ತು ಮೋಲ್ಡ್‌ನಿಂದ ಬೆಂಬಲಿತವಾಗಿದೆ. ವೈಲ್ಡ್‌ಗೆ, ಇದು ದಾರಿ ತೆರೆಯುತ್ತದೆ ಲಿಂಕರ್-ಪ್ಲಗಿನ್ LTO — ಲಿಂಕರ್ ಪ್ಲಗಿನ್ ಮೂಲಕ ಲಿಂಕ್ ಸಮಯ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳು. ಡೆವಲಪರ್‌ಗಳು ನಿರ್ದಿಷ್ಟವಾಗಿ ಇದು ಪ್ರಾಥಮಿಕವಾಗಿ C, C++ ಮತ್ತು ಮಿಶ್ರ-ಕೋಡ್ ಯೋಜನೆಗಳಿಗೆ ಉಪಯುಕ್ತವಾಗಿದೆ ಎಂದು ಹೇಳುತ್ತಾರೆ, ಆದರೆ ಶುದ್ಧ ರಸ್ಟ್ ಯೋಜನೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಆಂತರಿಕವಾಗಿ LTO ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ. ಈ ವೈಶಿಷ್ಟ್ಯಕ್ಕೆ ಬೆಂಬಲವು ಇನ್ನೂ ತಿಳಿದಿರುವ ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಪ್ಲಗಿನ್ ಮೂಲಕ ಲಿಂಕ್ ಮಾಡುವುದು ನಿಧಾನವಾಗಿರಬಹುದು.

0.9 ರಲ್ಲಿನ ಕೆಲಸದ ಗಮನಾರ್ಹ ಭಾಗವು ವೈಲ್ಡ್ ಅನ್ನು ಮೀರಿ ವರ್ಗಾವಣೆ ಮಾಡುವ ಸಿದ್ಧತೆಗಳಿಗೆ ಸಂಬಂಧಿಸಿದೆ. Linux/ELF. ELF-ನಿರ್ದಿಷ್ಟ ತರ್ಕವನ್ನು ಅಮೂರ್ತತೆಗಳ ಹೊರಗೆ ಸರಿಸಲಾಗಿದೆ ಮತ್ತು ಬೆಂಬಲದ ಕೆಲಸ ಪ್ರಾರಂಭವಾಗಿದೆ. ಮ್ಯಾಕ್-ಒ и ವೆಬ್ಅಸೆಬಲ್ಈ ಸಾಮರ್ಥ್ಯಗಳು ಪ್ರಾಯೋಗಿಕ ಬಳಕೆಗೆ ಇನ್ನೂ ಸಿದ್ಧವಾಗಿಲ್ಲ, ಆದರೆ ಮೊದಲ ಅಂಶಗಳು ಈಗಾಗಲೇ ಕಾಣಿಸಿಕೊಂಡಿವೆ: ಮ್ಯಾಕ್-ಒ ಪಾರ್ಸಿಂಗ್, ವಿಭಾಗ ಮತ್ತು ವಿಭಾಗ ಸಂಸ್ಕರಣೆ, ಚಿಹ್ನೆ ಕೋಷ್ಟಕ, ಕೋಡ್ ಸಹಿ, ಫ್ಯಾಟ್ ಬೈನರಿ, ಹಾಗೆಯೇ ವಾಸ್ಮ್ ವಿಭಾಗಗಳು, ಚಿಹ್ನೆಗಳು ಮತ್ತು ಸ್ಥಳಾಂತರಗಳಿಗೆ ಆರಂಭಿಕ ಬೆಂಬಲ.

ವೈಲ್ಡ್ ಲಿಂಕರ್ 0.9 ನಲ್ಲಿನ ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳು:

  • ಲಿಂಕರ್ ಪ್ಲಗಿನ್‌ಗಳಿಗೆ ಬೆಂಬಲ. ಲಿಂಕರ್ ಪ್ಲಗಿನ್ API ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಲಿಂಕರ್-ಪ್ಲಗಿನ್ LTO ಮತ್ತು ಕೆಲವು GCC/GNU ld/Mold ಬಿಲ್ಡ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳೊಂದಿಗಿನ ಹೊಂದಾಣಿಕೆಗೆ ಅಗತ್ಯವಾಗಿರುತ್ತದೆ. LTO ಸಮಯದಲ್ಲಿ ಪೂರ್ಣ-ಆರ್ಕೈವ್, ThinLTO, ತೆರೆದ ಫೈಲ್ ಮಿತಿ ಮತ್ತು ಡೆಡ್ ಕೋಡ್ ತೆಗೆಯುವಿಕೆ ಸೇರಿದಂತೆ ಪ್ಲಗಿನ್ ಕಾಲ್‌ಬ್ಯಾಕ್‌ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಕೆಲವು ಸಮಸ್ಯೆಗಳನ್ನು ಸಹ ಸರಿಪಡಿಸಲಾಗಿದೆ.

  • ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಬೆಂಬಲದ ಪ್ರಮುಖ ವಿಸ್ತರಣೆ. PROVIDE ಮತ್ತು PROVIDE_HIDDEN ನಿರ್ದೇಶನಗಳು, ASSERT ಪಾರ್ಸಿಂಗ್ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ, ಸಂಖ್ಯಾತ್ಮಕ ಲಿಟರಲ್‌ಗಳು, ಲಾಜಿಕಲ್, ಬಿಟ್‌ವೈಸ್ ಮತ್ತು ಯುನರಿ ಆಪರೇಟರ್‌ಗಳಲ್ಲಿ MEMORY, ORIGIN, LENGTH, LOADADDR, ALIGNOF, SEGMENT_START, K ಮತ್ತು M ಪ್ರತ್ಯಯಗಳಿಗೆ ಬೆಂಬಲ ಮತ್ತು ಇನ್‌ಪುಟ್ ಫೈಲ್ ಹೆಸರುಗಳ ಮೂಲಕ ಹೊಂದಾಣಿಕೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಇದು ವೈಲ್ಡ್ ಅನ್ನು ಸಿಸ್ಟಮ್ ಸಾಫ್ಟ್‌ವೇರ್ ಮತ್ತು ಕಡಿಮೆ-ಮಟ್ಟದ ಯೋಜನೆಗಳಲ್ಲಿ ಹೆಚ್ಚಾಗಿ ಕಂಡುಬರುವ ಸಂಕೀರ್ಣ ಲಿಂಕ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗೆ ಹತ್ತಿರ ತರುತ್ತದೆ.

  • RISC-V, AArch64, x86-64 ಮತ್ತು LoongArch64 ಗಾಗಿ ಸುಧಾರಣೆಗಳು. RISC-V ಕರೆ ವಿಶ್ರಾಂತಿ, HI20 ವಿಶ್ರಾಂತಿ, R_RISCV_ALIGN, ಸಂಘರ್ಷದ ISA ವಿಸ್ತರಣೆಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು, ಹೆಚ್ಚುವರಿ AArch64 ಸ್ಥಳಾಂತರಗಳು, AArch64 ಗಾಗಿ ಶ್ರೇಣಿ-ವಿಸ್ತರಣಾ ಥಂಕ್‌ಗಳು, ವಿಶ್ರಾಂತಿಗಳೊಂದಿಗೆ ಹಲವಾರು x86-64 ಸ್ಥಳಾಂತರಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಮತ್ತು LoongArch64 ಗಾಗಿ ಶ್ರೇಣಿ ಮತ್ತು ಜೋಡಣೆ ಸ್ಪಷ್ಟೀಕರಣಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

  • ಹೊಸ ಹೊಂದಾಣಿಕೆ ಆಯ್ಕೆಗಳು. --dependency-file, --auxiliary, --exclude-libs, --enable-new-dtags, --disable-new-dtags, --trace, --nmagic, --compress-debug-sections, --pack-dynamic-relocs=relr, --use-android-relr-tags, ಮತ್ತು space-less form -o/path ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

  • ಸ್ಥಿರವಾಗಿ ಚಲಿಸುವ ವಸ್ತುಗಳ ಉತ್ಪಾದನೆ. ಸ್ಥಿರ ಸ್ಥಳಾಂತರಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳನ್ನು ರಚಿಸಲು ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ - ಹೆಚ್ಚಿನ ಲಿಂಕ್ ಮಾಡುವಿಕೆಯಲ್ಲಿ ಇನ್ನೂ ಭಾಗವಹಿಸಬಹುದಾದ ಮಧ್ಯಂತರ ವಸ್ತು ಫೈಲ್‌ಗಳು.

  • "ವೇಗದ" ಬಿಡುಗಡೆಯ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸದೆ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಣೆಗಳು. 0.9 ಯಾವುದೇ ಪ್ರಮುಖ ಕಾರ್ಯಕ್ಷಮತೆ ಸುಧಾರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿಲ್ಲ ಎಂದು ಲೇಖಕರು ಸ್ಪಷ್ಟವಾಗಿ ಗಮನಿಸುತ್ತಾರೆ, ಆದರೆ ಯಾವುದೇ ಅವನತಿಯೂ ಇರಲಿಲ್ಲ. ಸ್ಥಳೀಯ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳು ಆವೃತ್ತಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಲ್ಲಿ ಜಾಗತಿಕವಲ್ಲದ ಹೊಂದಾಣಿಕೆದಾರರಿಗೆ ವೇಗದ ಮಾರ್ಗ, ಪರಮಾಣು ಕಾರ್ಯಾಚರಣೆಗಳ ಸಂಖ್ಯೆಯಲ್ಲಿ ಕಡಿತ, ವಿಶ್ರಾಂತಿ ಸ್ಕ್ಯಾನ್‌ಗಳ ಸಮಯದಲ್ಲಿ ವಿಭಾಗ ಮತ್ತು ಚಿಹ್ನೆ ವಿಳಾಸಗಳ ಸಮಾನಾಂತರ ಲೆಕ್ಕಾಚಾರ ಮತ್ತು ಈಗಾಗಲೇ ಪರಿಹರಿಸಲಾದ ವಿಭಾಗಗಳ ಮರು ಸಂಸ್ಕರಣೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತವೆ.

  • ಹಲವು ಹೊಂದಾಣಿಕೆ ಪರಿಹಾರಗಳು. ದುರ್ಬಲವಾದ ಅನಿರ್ದಿಷ್ಟ ಚಿಹ್ನೆಗಳು, .ctors/.dtors, RELRO, ಆವೃತ್ತಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು, SFrame, IFUNC, --version/-v, ಅನಿರ್ದಿಷ್ಟ ಚಿಹ್ನೆ ದೋಷಗಳು, ಎಚ್ಚರಿಕೆಗಳು, ಡೀಬಗ್ ಸ್ಥಳಾಂತರಗಳು, .eh_frame, SHT_SYMTAB_SHNDX, ಡೈನಾಮಿಕ್ ವಸ್ತುವಿನ ಸ್ಥಿರ ಲಿಂಕ್ ಮತ್ತು ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳೊಂದಿಗೆ ಹಲವಾರು ಸನ್ನಿವೇಶಗಳ ಸ್ಥಿರ ನಿರ್ವಹಣೆ.

  • ದಸ್ತಾವೇಜೀಕರಣ ಮತ್ತು ಯೋಜನಾ ನಿರ್ವಹಣೆ. ನೀತಿ ಸಂಹಿತೆ, LLM ಬಳಕೆಯ ನೀತಿ, ಆಡಳಿತ ದಸ್ತಾವೇಜನ್ನು, ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಬೆಂಬಲ ಮ್ಯಾಟ್ರಿಕ್ಸ್, GCC 16.1 ನೊಂದಿಗೆ -fuse-ld=wild ಅನ್ನು ಬಳಸುವ ಸೂಚನೆಗಳು ಮತ್ತು Brew ಮೂಲಕ ಅನುಸ್ಥಾಪನೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ರೆಪೊಸಿಟರಿಯನ್ನು ಪ್ರತ್ಯೇಕ GitHub ಸಂಸ್ಥೆ, wild-linker ಗೆ ಸ್ಥಳಾಂತರಿಸಲಾಗಿದೆ.

ಈ ಸಮಯದಲ್ಲಿ ವೈಲ್ಡ್ ಅಧಿಕೃತವಾಗಿ ಪ್ರಾಥಮಿಕವಾಗಿ ಗಮನಹರಿಸಲಾಗಿದೆ Linux ಮತ್ತು ELF. ಯೋಜನೆಯ README ಬೆಂಬಲವನ್ನು ಹೇಳುತ್ತದೆ x86-64, ARM64, RISC-V riscv64gc ಮತ್ತು ಆರಂಭಿಕ ಬೆಂಬಲ ಲೂಂಗ್ ಆರ್ಚ್64 ಮೇಲೆ Linux; ಸ್ಟ್ಯಾಟಿಕ್ ಬೈನರಿಗಳು, ಸ್ಟ್ಯಾಟಿಕ್-PIE, ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಲಿಂಕ್ ಮಾಡಲಾದ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್‌ಗಳು ಮತ್ತು .so ಫೈಲ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು, ಡೀಬಗ್ ಮಾಹಿತಿ, GNU ಜಾಬ್ ಸರ್ವರ್ ಮತ್ತು ಕೆಲವು ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇನ್‌ಕ್ರಿಮೆಂಟಲ್ ಲಿಂಕಿಂಗ್, ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಲಿಂಕರ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು, Mach-O, ಮತ್ತು Windows ಪ್ರಸ್ತುತ ಅಪೂರ್ಣ ಅಥವಾ ಅಪೂರ್ಣ ಅವಕಾಶಗಳೆಂದು ವರ್ಗೀಕರಿಸಲಾಗಿದೆ.

ಪ್ರಾಯೋಗಿಕವಾಗಿ ಹೇಳುವುದಾದರೆ, ವೈಲ್ಡ್ 0.9 ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ನಿರ್ಮಾಣ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ, ELF ಮೀರಿ ವಿಸ್ತರಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ದೊಡ್ಡ C/C++ ಮತ್ತು ಮಿಶ್ರ ಯೋಜನೆಗಳಲ್ಲಿ ಲಿಂಕರ್ ಅನ್ನು ಬಳಸಲು ಕಷ್ಟಕರವಾಗಿಸುವ ಸನ್ನಿವೇಶಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುತ್ತದೆ. ರಸ್ಟ್ ಡೆವಲಪರ್‌ಗಳಿಗೆ, ವೈಲ್ಡ್ ಭವಿಷ್ಯದ ಹೆಚ್ಚುತ್ತಿರುವ ಲಿಂಕ್‌ಗೆ ಸಂಭಾವ್ಯ ಆಧಾರವಾಗಿ ಮತ್ತು ಸಿಸ್ಟಮ್ ಡೆವಲಪರ್‌ಗಳಿಗೆ, GNU ld, LLD ಮತ್ತು ಮೋಲ್ಡ್‌ಗೆ ಮತ್ತೊಂದು ವೇಗದ ಪ್ರತಿಸ್ಪರ್ಧಿಯಾಗಿ ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ.

ಮೂಲ: linux.org.ru

DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ಸೈಟ್‌ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ 🔥 DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ವೆಬ್‌ಸೈಟ್ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ | ProHoster