clink - собрать DLL из нескольких объектных файлов

...
Post Reply
User avatar
Boppan
Posts: 69
Joined: Mon Aug 26, 2019 10:14 pm

clink - собрать DLL из нескольких объектных файлов

Post by Boppan »

Приветствую!

Недавно появилась утилита для компоновки нескольких объектных файлов в один. Это позволяет создавать DLL для Колибри. Уже есть в SVN, но свежая версия - в главной репе: https://github.com/mkostoevr/clink

Беру ответственность за её поддержку пока я жив.

Кому интересно, доступна серия видео по созданию этого компоновщика.

Все вопросы, предложения и юз-кейсы - прошу сюда или на гитхаб.
Last edited by Boppan on Wed Jun 30, 2021 2:58 pm, edited 1 time in total.
User avatar
ArenElchinyan
Posts: 28
Joined: Mon Apr 12, 2021 6:57 pm

Re: clink - собрать DLL из нескольких объектных файлов

Post by ArenElchinyan »

Интересно
SynapseOS - ОС совместимая с KolibriOS
KolibriRPG
Мой Github
User avatar
turbocat
Posts: 185
Joined: Thu Jun 25, 2020 1:14 am
Has thanked: 1 time
Been thanked: 5 times

Re: clink - собрать DLL из нескольких объектных файлов

Post by turbocat »

Отличная прога! С помощью её теперь собирается mbedtls
Изобретайте колёса каждый раз, когда хотите написать новую программу.
punk_joker
Posts: 1278
Joined: Tue Apr 12, 2011 11:19 pm

Re: clink - собрать DLL из нескольких объектных файлов

Post by punk_joker »

Есть бинарник clink для linux?
to infinity and beyond
punk_joker
Posts: 1278
Joined: Tue Apr 12, 2011 11:19 pm

Re: clink - собрать DLL из нескольких объектных файлов

Post by punk_joker »

При сборке clink падает:

[ tup ] [0.109s] Executing Commands...
* 1) programs/develop/libraries/kos_mbedtls/library: clink -o mbedtls.obj aesni.o entropy.o platform_util.o cmac.o blowfish.o pkcs11.o md2.o pkwrite.o x509_crl.o asn1write.o ssl_tls.o x509_create.o ecp_curves.o ssl_ticket.o net_sockets.o pem.o bignum.o md_wrap.o hkdf.o cipher.o md4.o chachapoly.o x509write_crt.o ssl_cookie.o md.o md5.o gcm.o hmac_drbg.o ssl_srv.o x509.o ecp.o pkcs5.o platform.o nist_kw.o xtea.o ripemd160.o ecjpake.o oid.o padlock.o ssl_ciphersuites.o version.o sha512.o rsa_internal.o sha256.o pk_wrap.o chacha20.o x509_csr.o ___chkstk_ms.o libtcc1.o memcpy.o memmove.o memset.o arc4.o version_features.o timing.o ctr_drbg.o dhm.o entropy_poll.o pkparse.o aria.o threading.o x509write_csr.o asn1parse.o poly1305.o ecdsa.o rsa.o certs.o x509_crt.o ecdh.o sha1.o camellia.o ssl_cli.o havege.o pk.o ssl_cache.o base64.o memory_buffer_alloc.o pkcs12.o aes.o ccm.o error.o cipher_wrap.o des.o debug.o mbedtls_export.o mbedtls_init.o && kos32-strip mbedtls.obj --strip-unneeded && kpack --nologo "mbedtls.obj"
Segmentation fault (core dumped)
*** tup messages ***
*** Command ID=60966 failed with return value 139

clink собран с нашего SVN.
to infinity and beyond
punk_joker
Posts: 1278
Joined: Tue Apr 12, 2011 11:19 pm

Re: clink - собрать DLL из нескольких объектных файлов

Post by punk_joker »

Проблема оказалась при работе с kos32-strip. Замена на GNU strip решила проблему.
to infinity and beyond
User avatar
Boppan
Posts: 69
Joined: Mon Aug 26, 2019 10:14 pm

Re: clink - собрать DLL из нескольких объектных файлов

Post by Boppan »

punk_joker wrote: Sun Oct 17, 2021 1:01 am Проблема оказалась при работе с kos32-strip. Замена на GNU strip решила проблему.
Всё равно нехорошо. Падает именно clink?
User avatar
turbocat
Posts: 185
Joined: Thu Jun 25, 2020 1:14 am
Has thanked: 1 time
Been thanked: 5 times

Re: clink - собрать DLL из нескольких объектных файлов

Post by turbocat »

Нет это проблема только kos32-strip. Хотя может ему действительно ненравится что нить в объектном файле.
Изобретайте колёса каждый раз, когда хотите написать новую программу.
User avatar
Boppan
Posts: 69
Joined: Mon Aug 26, 2019 10:14 pm

Re: clink - собрать DLL из нескольких объектных файлов

Post by Boppan »

BUG: clink может собрать неверный файл, если количество релокаций в одной из секций больше 64k.
Источник: https://learn.microsoft.com/en-us/windo ... tion-flags (флаг IMAGE_SCN_LNK_NRELOC_OVFL).
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 0 guests