###MY_VER_RANGE [4.1,) diff -Nurp mysql/strings/longlong2str-x86.s mysql-fixed/strings/longlong2str-x86.s --- mysql/strings/longlong2str-x86.s 2005-05-13 12:32:11.000000000 +0100 +++ mysql-fixed/strings/longlong2str-x86.s 2005-05-25 01:19:32.000000000 +0100 @@ -221,3 +227,13 @@ longlong10_to_str: .L10end: .size longlong10_to_str,.L10end-longlong10_to_str + + .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits +.globl __i686.get_pc_thunk.bx + .hidden __i686.get_pc_thunk.bx + .type __i686.get_pc_thunk.bx, @function +__i686.get_pc_thunk.bx: + movl (%esp), %ebx + ret + + .section .note.GNU-stack,"",@progbits diff -Nurp mysql/strings/my_strtoll10-x86.s mysql-fixed/strings/my_strtoll10-x86.s --- mysql/strings/my_strtoll10-x86.s 2005-05-13 12:32:22.000000000 +0100 +++ mysql-fixed/strings/my_strtoll10-x86.s 2005-05-25 01:13:23.000000000 +0100 @@ -18,7 +18,7 @@ .file "my_strtoll10-x86.s" .version "01.01" -.data +.section .rodata .align 32 .type lfactor,@object .size lfactor,36 @@ -315,7 +315,11 @@ my_strtoll10: .Lend_i_and_j: movl %esi,%ecx subl -12(%ebp),%ecx # ecx= number of digits in second part - movl lfactor(,%ecx,4),%eax + + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_,%ebx + + movl lfactor@GOTOFF(%ebx,%ecx,4),%eax jmp .L523 # Return -8(%ebp) * $1000000000 + edi @@ -400,3 +404,13 @@ my_strtoll10: .comm end_ptr,120,32 .comm error,120,32 .ident "Monty" + + .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits +.globl __i686.get_pc_thunk.bx + .hidden __i686.get_pc_thunk.bx + .type __i686.get_pc_thunk.bx, @function +__i686.get_pc_thunk.bx: + movl (%esp), %ebx + ret + + .section .note.GNU-stack,"",@progbits diff -Nurp mysql/strings/strings-x86.s mysql-fixed/strings/strings-x86.s --- mysql/strings/strings-x86.s 2005-05-13 12:32:40.000000000 +0100 +++ mysql-fixed/strings/strings-x86.s 2005-05-23 23:19:13.000000000 +0100 @@ -415,3 +415,5 @@ next_str: ret .strxmov_end: .size strxmov,.strxmov_end-strxmov + + .section .note.GNU-stack,"",@progbits