<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic I have posted an article and in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151643#M2580</link>
    <description>&lt;P&gt;I have posted an &lt;A href="https://software.intel.com/en-us/articles/building-the-gnu-multiple-precision-library-for-intel-software-guard-extensions#"&gt;article and sample code&lt;/A&gt; on using libgmp in an enclave.&lt;/P&gt;</description>
    <pubDate>Wed, 10 Oct 2018 15:44:43 GMT</pubDate>
    <dc:creator>JohnMechalas</dc:creator>
    <dc:date>2018-10-10T15:44:43Z</dc:date>
    <item>
      <title>Build enclave using libgmp</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151640#M2577</link>
      <description>&lt;P&gt;Hi everyone&lt;/P&gt;

&lt;P&gt;I am now want to implement some functions running&amp;nbsp;&lt;STRONG&gt;inside SGX enclave&lt;/STRONG&gt;. My functions will based on some cryptographic libraries like libgmp, libpbc (Paired-Based Cryptography library). I don't know if those libraries can be used inside SGX enclave or not because when I try to build my enclave with -lgmp option I got an error like "/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libgmp.a(memory.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC".&lt;/P&gt;

&lt;P&gt;Thanks for your help!&lt;/P&gt;</description>
      <pubDate>Fri, 03 Nov 2017 18:25:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151640#M2577</guid>
      <dc:creator>nguyen__hieu</dc:creator>
      <dc:date>2017-11-03T18:25:10Z</dc:date>
    </item>
    <item>
      <title>Hello,In SGX SDK, Only those</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151641#M2578</link>
      <description>&lt;P&gt;Hello,In SGX SDK, Only those libraries in sgxsdk/include can be used in enclave&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2017 00:47:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151641#M2578</guid>
      <dc:creator>dai_c_</dc:creator>
      <dc:date>2017-11-06T00:47:48Z</dc:date>
    </item>
    <item>
      <title>Libgmp is a trivial library</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151642#M2579</link>
      <description>&lt;P&gt;Libgmp is a trivial library which supports a lot of cryptography function but it is not supported in SGX enclave. It 's too bad to hear that&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2017 04:34:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151642#M2579</guid>
      <dc:creator>nguyen__hieu</dc:creator>
      <dc:date>2017-11-06T04:34:29Z</dc:date>
    </item>
    <item>
      <title>I have posted an article and</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151643#M2580</link>
      <description>&lt;P&gt;I have posted an &lt;A href="https://software.intel.com/en-us/articles/building-the-gnu-multiple-precision-library-for-intel-software-guard-extensions#"&gt;article and sample code&lt;/A&gt; on using libgmp in an enclave.&lt;/P&gt;</description>
      <pubDate>Wed, 10 Oct 2018 15:44:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151643#M2580</guid>
      <dc:creator>JohnMechalas</dc:creator>
      <dc:date>2018-10-10T15:44:43Z</dc:date>
    </item>
    <item>
      <title>Hi john,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151644#M2581</link>
      <description>&lt;P&gt;Hi john,&lt;/P&gt;&lt;P&gt;I was trying to build trusted gmp library for SGX enclave, following your above-mentioned article, so I downloaded the modified package from given github link in the article and tried to configure and build it, but I get errors and warnings after executing the make command. The errors are given below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In file included from nextprime.c:56:0:&lt;BR /&gt;gmp-impl.h:292:3: &lt;STRONG&gt;error&lt;/STRONG&gt;: expected identifier or ‘(’ before ‘do’&lt;BR /&gt;&amp;nbsp;&amp;nbsp; do {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ^&lt;BR /&gt;/opt/intel/sgxsdk/include/tlibc/string.h:65:22: note: in expansion of macro ‘memset’&lt;BR /&gt;&amp;nbsp;void * _TLIBC_CDECL_ memset(void *, int, size_t);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^~~~~~&lt;BR /&gt;gmp-impl.h:298:5: &lt;STRONG&gt;error&lt;/STRONG&gt;: expected identifier or ‘(’ before ‘while’&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } while (0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;BR /&gt;/opt/intel/sgxsdk/include/tlibc/string.h:65:22: note: in expansion of macro ‘memset’&lt;BR /&gt;&amp;nbsp;void * _TLIBC_CDECL_ memset(void *, int, size_t);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^~~~~~&lt;BR /&gt;In file included from nextprime.c:57:0:&lt;BR /&gt;/opt/intel/sgxsdk/include/tlibc/string.h:87:80: &lt;STRONG&gt;warning&lt;/STRONG&gt;: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]&lt;BR /&gt;&amp;nbsp;TLIBC_DEPRECATED_FUNCTION_(char * _TLIBC_CDECL_, strcat, char *, const char *);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;BR /&gt;/opt/intel/sgxsdk/include/tlibc/string.h:88:80: &lt;STRONG&gt;warning&lt;/STRONG&gt;: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]&lt;BR /&gt;&amp;nbsp;TLIBC_DEPRECATED_FUNCTION_(char * _TLIBC_CDECL_, strcpy, char *, const char *);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;BR /&gt;/opt/intel/sgxsdk/include/tlibc/string.h:120:72: &lt;STRONG&gt;warning&lt;/STRONG&gt;: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]&lt;BR /&gt;&amp;nbsp;_TLIBC_DEPRECATED_FUNCTION_(char * _TLIBC_CDECL_, strdup, const char *);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;BR /&gt;/opt/intel/sgxsdk/include/tlibc/string.h:121:87: &lt;STRONG&gt;warning&lt;/STRONG&gt;: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]&lt;BR /&gt;&amp;nbsp;EPRECATED_FUNCTION_(char * _TLIBC_CDECL_, stpcpy, char *dest, const char *src);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;BR /&gt;In file included from nextprime.c:56:0:&lt;BR /&gt;nextprime.c: In function ‘__gmp_nextprime’:&lt;BR /&gt;gmp-impl.h:294:25: warning: pointer targets in initialization differ in signedness [-Wpointer-sign]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char *__memset__p = (p);&amp;nbsp; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;BR /&gt;nextprime.c:97:3: note: in expansion of macro ‘memset’&lt;BR /&gt;&amp;nbsp;&amp;nbsp; memset (ps-&amp;gt;s, 0, SIEVESIZE);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; ^~~~~~&lt;BR /&gt;Makefile:1259: recipe for target 'libsgx_tgmp_a-nextprime.o' failed&lt;BR /&gt;make[2]: *** [libsgx_tgmp_a-nextprime.o] Error 1&lt;BR /&gt;make[2]: Leaving directory '/home/user/Desktop/sgx-gmp-github'&lt;BR /&gt;Makefile:1350: recipe for target 'all-recursive' failed&lt;BR /&gt;make[1]: *** [all-recursive] Error 1&lt;BR /&gt;make[1]: Leaving directory '/home/user/Desktop/sgx-gmp-github'&lt;BR /&gt;Makefile:1024: recipe for target 'all' failed&lt;BR /&gt;make: *** [all] Error 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Following is the section of gmp-impl.h file in which system detected errors:&lt;/P&gt;&lt;P&gt;#if ! HAVE_MEMSET&lt;BR /&gt;#define memset(p, c, n)&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;\&lt;BR /&gt;&amp;nbsp; do {&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;\&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASSERT ((n) &amp;gt;= 0);&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;\&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char *__memset__p = (p);&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;\&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int&amp;nbsp;&amp;nbsp; &amp;nbsp; __i;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;\&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (__i = 0; __i &amp;lt; (n); __i++)&amp;nbsp;&amp;nbsp; &amp;nbsp;\&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __memset__p[__i] = (c);&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;\&lt;BR /&gt;&amp;nbsp; } while (0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Following is the section of string.h file:&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;&amp;nbsp;* Deprecated C99.&lt;BR /&gt;&amp;nbsp;*/&lt;/P&gt;&lt;P&gt;_TLIBC_DEPRECATED_FUNCTION_(char * _TLIBC_CDECL_, strcat, char *, const char *);&lt;BR /&gt;_TLIBC_DEPRECATED_FUNCTION_(char * _TLIBC_CDECL_, strcpy, char *, const char *);&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;&amp;nbsp;* Deprecated Non-C99.&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;_TLIBC_DEPRECATED_FUNCTION_(char * _TLIBC_CDECL_, strdup, const char *);&lt;BR /&gt;_TLIBC_DEPRECATED_FUNCTION_(char * _TLIBC_CDECL_, stpcpy, char *dest, const char *src);&lt;/P&gt;&lt;P&gt;__END_DECLS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Thu, 31 Jan 2019 18:23:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151644#M2581</guid>
      <dc:creator>islam__md_monirul</dc:creator>
      <dc:date>2019-01-31T18:23:44Z</dc:date>
    </item>
    <item>
      <title>Any help regarding the above</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151645#M2582</link>
      <description>&lt;P&gt;Any help regarding the above issue?&lt;/P&gt;</description>
      <pubDate>Wed, 06 Feb 2019 08:09:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151645#M2582</guid>
      <dc:creator>islam__md_monirul</dc:creator>
      <dc:date>2019-02-06T08:09:05Z</dc:date>
    </item>
    <item>
      <title>Apologies for the long delay.</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151646#M2583</link>
      <description>&lt;P&gt;Apologies for the long delay. I don't normally monitor this forum so I missed your reply. I encourage you, and others, to file issues with the repo directly on GitHub as that will notify me.&lt;/P&gt;&lt;P&gt;My guess is that there have been changes in the SGX SDK that are causing a conflict with libgmp's code. I'll take a look at this&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2019 04:20:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Build-enclave-using-libgmp/m-p/1151646#M2583</guid>
      <dc:creator>JohnMechalas</dc:creator>
      <dc:date>2019-08-16T04:20:48Z</dc:date>
    </item>
  </channel>
</rss>

