Package: libopenlibm-dev
Version: 0.3+dfsg-1
Severity: important
User: [email protected]
Usertags: multiarch

libopenlibm-dev is marked as "Multi-Arch: same", but the following file is architecture-dependent:

/usr/include/openlibm/bsd_asm.h

An example diff between i386 and amd64 is attached.

--
Jakub Wilk
diff -ur libopenlibm-dev_0.3+dfsg-1_i386/usr/include/openlibm/bsd_asm.h 
libopenlibm-dev_0.3+dfsg-1_amd64/usr/include/openlibm/bsd_asm.h
--- libopenlibm-dev_0.3+dfsg-1_i386/usr/include/openlibm/bsd_asm.h      
2014-04-19 23:15:39.000000000 +0200
+++ libopenlibm-dev_0.3+dfsg-1_amd64/usr/include/openlibm/bsd_asm.h     
2014-04-19 23:15:39.000000000 +0200
@@ -30,32 +30,22 @@
  * SUCH DAMAGE.
  *
  *     from: @(#)DEFS.h        5.1 (Berkeley) 4/23/90
- * $FreeBSD: src/sys/i386/include/asm.h,v 1.14 2007/08/22 04:26:07 jkoshy Exp $
+ * $FreeBSD: src/sys/amd64/include/asm.h,v 1.18 2007/08/22 04:26:07 jkoshy Exp 
$
  */
 
 #ifndef _MACHINE_ASM_H_
 #define        _MACHINE_ASM_H_
 
-#if defined(__APPLE__)
-#include "osx_asm.h"
+#ifdef __APPLE__
+#include "../i387/osx_asm.h"
 #define CNAME(x) EXT(x)
-#elif defined(__FreeBSD__) || defined(__linux__) || defined(_WIN32)
+#else
 #include "bsd_cdefs.h"
 
 #ifdef PIC
-#define        PIC_PROLOGUE    \
-       pushl   %ebx;   \
-       call    1f;     \
-1:                     \
-       popl    %ebx;   \
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b],%ebx
-#define        PIC_EPILOGUE    \
-       popl    %ebx
 #define        PIC_PLT(x)      x@PLT
-#define        PIC_GOT(x)      x@GOT(%ebx)
+#define        PIC_GOT(x)      x@GOTPCREL(%rip)
 #else
-#define        PIC_PROLOGUE
-#define        PIC_EPILOGUE
 #define        PIC_PLT(x)      x
 #define        PIC_GOT(x)      x
 #endif
@@ -67,17 +57,16 @@
  * language name.  HIDENAME is given an assembly-language name, and expands
  * to a possibly-modified form that will be invisible to C programs.
  */
+#define CNAME(csym)            csym
+#define HIDENAME(asmsym)       .asmsym
 
-
-/* XXX should use .p2align 4,0x90 for -m486. */
-#define _START_ENTRY .p2align 2,0x90
+#define _START_ENTRY   .p2align 4,0x90
 
 #if defined(__linux__) || defined(__FreeBSD__) || defined(__ELF__)
-#define CNAME(csym)            csym
-#define HIDENAME(asmsym)       .asmsym
-#define _ENTRY(x) .text; _START_ENTRY; \
+#define _ENTRY(x)      .text; _START_ENTRY; \
                        .globl CNAME(x); .type CNAME(x),@function; CNAME(x):
 #define        END(x)          .size x, . - x
+
 #elif defined(_WIN32)
 #ifndef _MSC_VER
 #define END(x) .end
@@ -86,33 +75,36 @@
 #define END(x) end
 #define _START_ENTRY_WIN .code; _START_ENTRY
 #endif
-#define CNAME(csym)            _##csym
-#define HIDENAME(asmsym)       .asmsym
-#define _ENTRY(x) _START_ENTRY_WIN; \
+#define _ENTRY(x)      _START_ENTRY_WIN; \
             .globl CNAME(x); .section .drectve; .ascii " -export:" #x; \
             .section .text; .def CNAME(x); .scl 2; .type 32; .endef; CNAME(x):
 #endif
 
 #ifdef PROF
 #define        ALTENTRY(x)     _ENTRY(x); \
-                       pushl %ebp; movl %esp,%ebp; \
+                       pushq %rbp; movq %rsp,%rbp; \
                        call PIC_PLT(HIDENAME(mcount)); \
-                       popl %ebp; \
+                       popq %rbp; \
                        jmp 9f
 #define        ENTRY(x)        _ENTRY(x); \
-                       pushl %ebp; movl %esp,%ebp; \
+                       pushq %rbp; movq %rsp,%rbp; \
                        call PIC_PLT(HIDENAME(mcount)); \
-                       popl %ebp; \
+                       popq %rbp; \
                        9:
 #else
 #define        ALTENTRY(x)     _ENTRY(x)
 #define        ENTRY(x)        _ENTRY(x)
 #endif
 
+
 #define RCSID(x)       .text; .asciz x
 
 #undef __FBSDID
+#if !defined(lint) && !defined(STRIP_FBSDID)
+#define __FBSDID(s)    .ident s
+#else
 #define __FBSDID(s)    /* nothing */
+#endif /* not lint and not STRIP_FBSDID */
 
 #endif
 #endif /* !_MACHINE_ASM_H_ */

Reply via email to