diff --git a/ChangeLog b/ChangeLog index d53197fd616c1e5711fcf425dfb967112d829eec..cd6583a37c35bf2b698adbbab6f89ffc38eb365e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2013-04-24 Niels Möller <nisse@lysator.liu.se> + * x86_64/memxor.asm: Added nettle_ prefix to symbols. + * arm/memxor.asm: Likewise. + + * testsuite/symbols-test: Don't allow memxor functions without + nettle prefix, + + * memxor.h (memxor3): Added name mangling to add "nettle_" prefix + to memxor and memxor3 symbols. + * Makefile.in (nettle_OBJS): Deleted $(LIBOBJS), and also deleted LIBOBJS substitution. (nettle_SOURCES): Added memxor.c, to include it in the library diff --git a/arm/memxor.asm b/arm/memxor.asm index 33f672c6d641f8213a0c22f146dbf8af87174162..b69e2f43f449eed6d4243d6a934880335e3ec66f 100644 --- a/arm/memxor.asm +++ b/arm/memxor.asm @@ -41,7 +41,7 @@ define(<TNC>, <r12>) C memxor(uint8_t *dst, const uint8_t *src, size_t n) .align 4 -PROLOGUE(memxor) +PROLOGUE(nettle_memxor) cmp N, #0 beq .Lmemxor_done @@ -214,7 +214,7 @@ PROLOGUE(memxor) beq .Lmemxor_done b .Lmemxor_bytes -EPILOGUE(memxor) +EPILOGUE(nettle_memxor) define(<DST>, <r0>) define(<AP>, <r1>) @@ -231,7 +231,7 @@ define(<BTNC>, <r12>) C memxor3(uint8_t *dst, const uint8_t *a, const uint8_t *b, size_t n) .align 2 -PROLOGUE(memxor3) +PROLOGUE(nettle_memxor3) cmp N, #0 beq .Lmemxor3_ret @@ -485,4 +485,4 @@ PROLOGUE(memxor3) add AP, AP, ACNT, lsr #3 add BP, BP, BCNT, lsr #3 b .Lmemxor3_bytes -EPILOGUE(memxor3) +EPILOGUE(nettle_memxor3) diff --git a/memxor.h b/memxor.h index c9e563d496be73fa5a5622f4aaf15cb2cfab0be7..2a6545cef79598c03b3a270785b65a27daa9033a 100644 --- a/memxor.h +++ b/memxor.h @@ -12,6 +12,10 @@ extern "C" { #endif +/* Name mangling */ +#define memxor nettle_memxor +#define memxor3 nettle_memxor3 + uint8_t *memxor(uint8_t *dst, const uint8_t *src, size_t n); uint8_t *memxor3(uint8_t *dst, const uint8_t *a, const uint8_t *b, size_t n); diff --git a/testsuite/symbols-test b/testsuite/symbols-test index ec8f49183abf574d59d9e807c1a1654dceb90989..4a97c25e395f74598ef450c5dd9467bd4a147616 100755 --- a/testsuite/symbols-test +++ b/testsuite/symbols-test @@ -17,7 +17,7 @@ fi # code. ( $NM -g ../libnettle.a || $NM ../libnettle.a ) \ - | grep ' [DRT] ' | egrep -v '( |^)\.?_?(_?nettle_|memxor)|get_pc_thunk' \ + | grep ' [DRT] ' | egrep -v '( |^)\.?_?(_?nettle_)|get_pc_thunk' \ | sort -k3 > test1.out if [ -s test1.out ] ; then diff --git a/x86_64/memxor.asm b/x86_64/memxor.asm index b22a4721bc74d91e95a60078bcb77d795e4ae5f1..2ac9df97e2588bb1bf10b3fd496286f13660a370 100644 --- a/x86_64/memxor.asm +++ b/x86_64/memxor.asm @@ -38,18 +38,18 @@ define(<USE_SSE2>, <no>) C %rdi %rsi %rdx ALIGN(16) -PROLOGUE(memxor) +PROLOGUE(nettle_memxor) W64_ENTRY(3, 0) mov %rdx, %r10 mov %rdi, %rdx jmp .Lmemxor3_entry -EPILOGUE(memxor) +EPILOGUE(nettle_memxor) C memxor3(uint8_t *dst, const uint8_t *a, const uint8_t *b, size_t n) C %rdi %rsi %rdx %rcx ALIGN(16) -PROLOGUE(memxor3) +PROLOGUE(nettle_memxor3) W64_ENTRY(4, 0) C %cl needed for shift count, so move away N mov %rcx, N @@ -258,4 +258,4 @@ ifelse(USE_SSE2, yes, < >) -EPILOGUE(memxor3) +EPILOGUE(nettle_memxor3)