Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline PavelPerevezentsev  
#1 Оставлено : 9 ноября 2021 г. 21:57:29(UTC)
PavelPerevezentsev

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.11.2021(UTC)
Сообщений: 4

Доброго времени суток. Пытаюсь скомпилировать небольшой пример для использования с WebAssembly

Цитата:

#include <WinCryptEx.h>

int add(int a, int b) {
return a*a + b;
}


выполняю следующую команду
Цитата:

clang \
-I /opt/cprocsp/include \
-I /opt/cprocsp/include/cpcsp \
-I /opt/cprocsp/include/asn1c/rtsrc \
-I /opt/cprocsp/include/asn1data \
-D SIZEOF_VOID_P=8 \
-D UNIX \
-D HAVE_LIMITS_H \
-D _COMPACT \
-D HAVE_STDINT_H \
-g \
-c \
-S \
-emit-llvm \
--target=wasm32 \
--sysroot=/usr/src/app/mycryprolib/wasi-sdk-12.0/share/wasi-sysroot \
main.c


Получаю следующие ошибки

Цитата:

In file included from main.c:1:
/opt/cprocsp/include/cpcsp/WinCryptEx.h:3516:14: error: 'regparm' is not valid on this platform
typedef BOOL CPCAPI CPC_Kernel_Fpu_Begin_Callback(
^~~~~~
/opt/cprocsp/include/cpcsp/WinCryptEx.h:3446:32: note: expanded from macro 'CPCAPI'
#define CPCAPI __attribute__((regparm(0)))
^ ~
/opt/cprocsp/include/cpcsp/WinCryptEx.h:3574:14: error: 'regparm' is not valid on this platform
typedef BOOL CPCAPI CPC_Kernel_Fpu_End_Callback(
^~~~~~
/opt/cprocsp/include/cpcsp/WinCryptEx.h:3446:32: note: expanded from macro 'CPCAPI'
#define CPCAPI __attribute__((regparm(0)))
^ ~
2 errors generated.


Можно ли скомпилировать библиотеку написаную на c и sdk-криптопро для использования с WebAssembly? Если нет, то планируется ли поддержка WebAssembly?
Offline Андрей Русев  
#2 Оставлено : 10 ноября 2021 г. 11:43:20(UTC)
Андрей Русев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 874

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 225 раз в 174 постах
Здравствуйте.
А как вы планируете вызывать из wasm нативные библиотеки?
Официальная техподдержка. Официальная база знаний.
Offline PavelPerevezentsev  
#3 Оставлено : 10 ноября 2021 г. 11:52:27(UTC)
PavelPerevezentsev

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.11.2021(UTC)
Сообщений: 4

Автор: Андрей Русев Перейти к цитате
Здравствуйте.
А как вы планируете вызывать из wasm нативные библиотеки?


Нативные, это какие?
Offline Андрей Русев  
#4 Оставлено : 10 ноября 2021 г. 12:07:05(UTC)
Андрей Русев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 874

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 225 раз в 174 постах
Эти:
Код:
user@test-x64-astra16:~$ ldd /opt/cprocsp/bin/amd64/certmgr
        linux-vdso.so.1 (0x00007ffef7d84000)
        libcapi20.so.4 => /opt/cprocsp/lib/amd64/libcapi20.so.4 (0x00007bf55bc22000)
        liburlretrieve.so.4 => /opt/cprocsp/lib/amd64/liburlretrieve.so.4 (0x00007bf55ba16000)
        libcpext.so.4 => /opt/cprocsp/lib/amd64/libcpext.so.4 (0x00007bf55b744000)
        libcapi10.so.4 => /opt/cprocsp/lib/amd64/libcapi10.so.4 (0x00007bf55b524000)
        librdrsup.so.4 => /opt/cprocsp/lib/amd64/librdrsup.so.4 (0x00007bf55b2e9000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007bf55b0e5000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007bf55aec8000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007bf55ab46000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007bf55a842000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007bf55a62b000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007bf55a28c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007bf55c223000)
Официальная техподдержка. Официальная база знаний.
Offline PavelPerevezentsev  
#5 Оставлено : 10 ноября 2021 г. 12:53:03(UTC)
PavelPerevezentsev

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.11.2021(UTC)
Сообщений: 4

Большенство из них входит в состав https://github.com/WebAssembly/wasi-sdk, для libc есть реализация https://github.com/WebAssembly/wasi-libc, вот с остальными есть вопросы, нужны ли они вообще для моих нужд и если нужны то как их правильно залинковать
Offline Андрей Русев  
#6 Оставлено : 10 ноября 2021 г. 14:20:17(UTC)
Андрей Русев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 874

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 225 раз в 174 постах
Я с этого и начал: как вы планируете вызывать библиотеки из /opt/cprocsp/lib/amd64/? Если вы решите этот вопрос, то никаких проблем нет. Но думаю, что не решите.
Официальная техподдержка. Официальная база знаний.
Offline PavelPerevezentsev  
#7 Оставлено : 10 ноября 2021 г. 14:36:36(UTC)
PavelPerevezentsev

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.11.2021(UTC)
Сообщений: 4

Я вообщем то поэтому и задаю вопрос возможно ли это сейчас? Если невозможно, то планируется ли в будущем поддержка wasm?
Offline Андрей Русев  
#8 Оставлено : 10 ноября 2021 г. 15:52:04(UTC)
Андрей Русев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 874

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 225 раз в 174 постах
Когда wasm научится использовать нативные библиотеки, тогда мы его поддержим. Думаю, что никогда.
Официальная техподдержка. Официальная база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.