mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Update.
2003-04-14 Ulrich Drepper <drepper@redhat.com> * string/strxfrm.c (STRXFRM): Terminate rulearr at correct position. Reported by jreiser@BitWagon.com.
This commit is contained in:
parent
4ae7142df2
commit
39a46c42f5
@ -1,3 +1,8 @@
|
||||
2003-04-14 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* string/strxfrm.c (STRXFRM): Terminate rulearr at correct
|
||||
position. Reported by jreiser@BitWagon.com.
|
||||
|
||||
2003-04-13 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/generic/unwind-dw2-fde.c: Update from recent gcc version.
|
||||
|
@ -345,103 +345,112 @@ versioned_symbol (libpthread, __pthread_cond_timedwait, pthread_cond_timedwait,
|
||||
|
||||
.section .eh_frame,"a",@progbits
|
||||
.LSTARTFRAME:
|
||||
.long L(ENDCIE)-L(STARTCIE) # Length of the CIE.
|
||||
.long L(ENDCIE)-L(STARTCIE) # Length of the CIE.
|
||||
.LSTARTCIE:
|
||||
.long 0 # CIE ID.
|
||||
.byte 1 # Version number.
|
||||
.long 0 # CIE ID.
|
||||
.byte 1 # Version number.
|
||||
#ifdef SHARED
|
||||
.string "zR" # NUL-terminated augmentation string.
|
||||
.string "zR" # NUL-terminated augmentation
|
||||
# string.
|
||||
#else
|
||||
.ascii "\0" # NUL-terminated augmentation string.
|
||||
.ascii "\0" # NUL-terminated augmentation
|
||||
# string.
|
||||
#endif
|
||||
.uleb128 1 # Code alignment factor.
|
||||
.sleb128 -4 # Data alignment factor.
|
||||
.byte 8 # Return address register column.
|
||||
.uleb128 1 # Code alignment factor.
|
||||
.sleb128 -4 # Data alignment factor.
|
||||
.byte 8 # Return address register
|
||||
# column.
|
||||
#ifdef SHARED
|
||||
.uleb128 1 # Augmentation value length.
|
||||
.byte 0x1b # Encoding: DW_EH_PE_pcrel
|
||||
# + DW_EH_PE_sdata4.
|
||||
.uleb128 1 # Augmentation value length.
|
||||
.byte 0x1b # Encoding: DW_EH_PE_pcrel
|
||||
# + DW_EH_PE_sdata4.
|
||||
#endif
|
||||
.byte 0x0c # DW_CFA_def_cfa
|
||||
.byte 0x0c # DW_CFA_def_cfa
|
||||
.uleb128 4
|
||||
.uleb128 4
|
||||
.byte 0x88 # DW_CFA_offset, column 0x8
|
||||
.byte 0x88 # DW_CFA_offset, column 0x8
|
||||
.uleb128 1
|
||||
.align 4
|
||||
.LENDCIE:
|
||||
|
||||
.long .LENDFDE-.LSTARTFDE # Length of the FDE.
|
||||
.long .LENDFDE-.LSTARTFDE # Length of the FDE.
|
||||
.LSTARTFDE:
|
||||
.long .LSTARTFDE-.LSTARTFRAME # CIE pointer.
|
||||
.long .LSTARTFDE-.LSTARTFRAME # CIE pointer.
|
||||
#ifdef SHARED
|
||||
.long .LSTARTCODE-. # PC-relative start address of the code
|
||||
.long .LSTARTCODE-. # PC-relative start address
|
||||
# of the code
|
||||
#else
|
||||
.long .LSTARTCODE # Start address of the code.
|
||||
.long .LSTARTCODE # Start address of the code.
|
||||
#endif
|
||||
.long .LENDCODE-.LSTARTCODE # Length of the code.
|
||||
.long .LENDCODE-.LSTARTCODE # Length of the code.
|
||||
#ifdef SHARED
|
||||
.uleb128 0 # No augmentation data.
|
||||
.uleb128 0 # No augmentation data.
|
||||
#endif
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_ebp-.LSTARTCODE
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Lpush_ebp-.LSTARTCODE # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 8
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_edi-.Lpush_ebp
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x85 # DW_CFA_offset %ebp
|
||||
.uleb128 2
|
||||
.byte 0x40+ .Lpush_edi-.Lpush_ebp # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 12
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_esi-.Lpush_edi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x87 # DW_CFA_offset %edi
|
||||
.uleb128 3
|
||||
.byte 0x40+.Lpush_esi-.Lpush_edi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_ebx-.Lpush_esi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 20
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush4-.Lpush_ebx
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 24
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lsubl-.Lpush4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 64
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Laddl-.Lsubl
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 20
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_ebx-.Laddl
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_esi-.Lpop_ebx
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 12
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_edi-.Lpop_esi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 8
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_ebp-.Lpop_edi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x86 # DW_CFA_offset %esi
|
||||
.uleb128 4
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl1-.Lpop_edi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Lpush_ebx-.Lpush_esi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 20
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl2-.LSbl1
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x83 # DW_CFA_offset %ebx
|
||||
.uleb128 5
|
||||
.byte 0x40+.Lpush4-.Lpush_ebx # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 24
|
||||
.byte 0x40+.Lsubl-.Lpush4 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 64
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl3-.LSbl2
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Laddl-.Lsubl # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 20
|
||||
.byte 0x40+.Lpop_ebx-.Laddl # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 0xc3 # DW_CFA_restore %ebx
|
||||
.byte 0x40+.Lpop_esi-.Lpop_ebx # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 12
|
||||
.byte 0xc6 # DW_CFA_restore %esi
|
||||
.byte 0x40+.Lpop_edi-.Lpop_esi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 8
|
||||
.byte 0xc7 # DW_CFA_restore %edi
|
||||
.byte 0x40+.Lpop_ebp-.Lpop_edi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 4
|
||||
.byte 0xc5 # DW_CFA_restore %ebp
|
||||
.byte 0x40+.LSbl1-.Lpop_edi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 20
|
||||
.byte 0x40+.LSbl2-.LSbl1 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 64
|
||||
.byte 0x85 # DW_CFA_offset %ebp
|
||||
.uleb128 2
|
||||
.byte 0x87 # DW_CFA_offset %edi
|
||||
.uleb128 3
|
||||
.byte 0x86 # DW_CFA_offset %esi
|
||||
.uleb128 4
|
||||
.byte 0x83 # DW_CFA_offset %ebx
|
||||
.uleb128 5
|
||||
.byte 0x40+.LSbl3-.LSbl2 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 24
|
||||
#if defined __NR_clock_gettime && !defined __ASSUME_POSIX_TIMERS
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl4-.LSbl3
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.LSbl4-.LSbl3 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 64
|
||||
#endif
|
||||
.align 4
|
||||
|
@ -316,88 +316,95 @@ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
|
||||
.LSTARTFRAME:
|
||||
.long L(ENDCIE)-L(STARTCIE) # Length of the CIE.
|
||||
.LSTARTCIE:
|
||||
.long 0 # CIE ID.
|
||||
.byte 1 # Version number.
|
||||
.long 0 # CIE ID.
|
||||
.byte 1 # Version number.
|
||||
#ifdef SHARED
|
||||
.string "zR" # NUL-terminated augmentation string.
|
||||
.string "zR" # NUL-terminated augmentation
|
||||
# string.
|
||||
#else
|
||||
.ascii "\0" # NUL-terminated augmentation string.
|
||||
.ascii "\0" # NUL-terminated augmentation
|
||||
# string.
|
||||
#endif
|
||||
.uleb128 1 # Code alignment factor.
|
||||
.sleb128 -4 # Data alignment factor.
|
||||
.byte 8 # Return address register column.
|
||||
.uleb128 1 # Code alignment factor.
|
||||
.sleb128 -4 # Data alignment factor.
|
||||
.byte 8 # Return address register
|
||||
# column.
|
||||
#ifdef SHARED
|
||||
.uleb128 1 # Augmentation value length.
|
||||
.byte 0x1b # Encoding: DW_EH_PE_pcrel
|
||||
# + DW_EH_PE_sdata4.
|
||||
.uleb128 1 # Augmentation value length.
|
||||
.byte 0x1b # Encoding: DW_EH_PE_pcrel
|
||||
# + DW_EH_PE_sdata4.
|
||||
#endif
|
||||
.byte 0x0c # DW_CFA_def_cfa
|
||||
.byte 0x0c # DW_CFA_def_cfa
|
||||
.uleb128 4
|
||||
.uleb128 4
|
||||
.byte 0x88 # DW_CFA_offset, column 0x8
|
||||
.byte 0x88 # DW_CFA_offset, column 0x8
|
||||
.uleb128 1
|
||||
.align 4
|
||||
.LENDCIE:
|
||||
|
||||
.long .LENDFDE-.LSTARTFDE # Length of the FDE.
|
||||
.long .LENDFDE-.LSTARTFDE # Length of the FDE.
|
||||
.LSTARTFDE:
|
||||
.long .LSTARTFDE-.LSTARTFRAME # CIE pointer.
|
||||
.long .LSTARTFDE-.LSTARTFRAME # CIE pointer.
|
||||
#ifdef SHARED
|
||||
.long .LSTARTCODE-. # PC-relative start address of the code
|
||||
.long .LSTARTCODE-. # PC-relative start address
|
||||
# of the code.
|
||||
#else
|
||||
.long .LSTARTCODE # Start address of the code.
|
||||
.long .LSTARTCODE # Start address of the code.
|
||||
#endif
|
||||
.long .LENDCODE-.LSTARTCODE # Length of the code.
|
||||
.long .LENDCODE-.LSTARTCODE # Length of the code.
|
||||
#ifdef SHARED
|
||||
.uleb128 0 # No augmentation data.
|
||||
.uleb128 0 # No augmentation data.
|
||||
#endif
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_edi-.LSTARTCODE
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Lpush_edi-.LSTARTCODE # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 8
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_esi-.Lpush_edi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x87 # DW_CFA_offset %edi
|
||||
.uleb128 2
|
||||
.byte 0x40+.Lpush_esi-.Lpush_edi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 12
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_ebx-.Lpush_esi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x86 # DW_CFA_offset %esi
|
||||
.uleb128 3
|
||||
.byte 0x40+.Lpush_ebx-.Lpush_esi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush4-.Lpush_ebx
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 20
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lsubl-.Lpush4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 52
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Laddl-.Lsubl
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_ebx-.Laddl
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 12
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_esi-.Lpop_ebx
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 8
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_edi-.Lpop_esi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x83 # DW_CFA_offset %ebx
|
||||
.uleb128 4
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl1-.Lpop_edi
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl2-.LSbl1
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Lpush4-.Lpush_ebx # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 20
|
||||
.byte 0x40+.Lsubl-.Lpush4 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 52
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl3-.LSbl2
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Laddl-.Lsubl # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 0x40+ .Lpop_ebx-.Laddl # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 12
|
||||
.byte 0xc3 # DW_CFA_restore %ebx
|
||||
.byte 0x40+.Lpop_esi-.Lpop_ebx # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 8
|
||||
.byte 0xc6 # DW_CFA_restore %esi
|
||||
.byte 0x40+.Lpop_edi-.Lpop_esi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 4
|
||||
.byte 0xc7 # DW_CFA_restore %edi
|
||||
.byte 0x40+.LSbl1-.Lpop_edi # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 0x87 # DW_CFA_offset %edi
|
||||
.uleb128 2
|
||||
.byte 0x86 # DW_CFA_offset %esi
|
||||
.uleb128 3
|
||||
.byte 0x83 # DW_CFA_offset %ebx
|
||||
.uleb128 4
|
||||
.byte 0x40+.LSbl2-.LSbl1 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 52
|
||||
.byte 0x40+.LSbl3-.LSbl2 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 20
|
||||
.align 4
|
||||
.LENDFDE:
|
||||
|
@ -59,19 +59,16 @@
|
||||
.long 0; \
|
||||
/* Version number. */ \
|
||||
.byte 1; \
|
||||
/* NUL-terminated augmentation string. Note "z" means there is an \
|
||||
augmentation value later on. */ \
|
||||
.string "zR"; \
|
||||
/* NUL-terminated augmentation string. */ \
|
||||
AUGMENTATION_STRING; \
|
||||
/* Code alignment factor. */ \
|
||||
.uleb128 1; \
|
||||
/* Data alignment factor. */ \
|
||||
.sleb128 -4; \
|
||||
/* Return address register column. */ \
|
||||
.byte 8; \
|
||||
/* Augmentation value length. */ \
|
||||
.uleb128 1; \
|
||||
/* Encoding: DW_EH_PE_pcrel + DW_EH_PE_sdata4. */ \
|
||||
.byte 0x1b; \
|
||||
/* Optional augmentation parameter. */ \
|
||||
AUGMENTATION_PARAM \
|
||||
/* Start of the table initialization. */ \
|
||||
.byte 0xc; /* DW_CFA_def_cfa */ \
|
||||
.uleb128 4; \
|
||||
@ -85,12 +82,12 @@
|
||||
L(STARTFDE): \
|
||||
/* CIE pointer. */ \
|
||||
.long L(STARTFDE)-L(STARTFRAME); \
|
||||
/* PC-relative start address of the code. */ \
|
||||
.long L(name##START)-.; \
|
||||
/* Start address of the code. */ \
|
||||
START_SYMBOL_REF (name); \
|
||||
/* Length of the code. */ \
|
||||
.long L(name##END)-L(name##START); \
|
||||
/* No augmentation data. */ \
|
||||
.uleb128 0; \
|
||||
/* Augmentation data. */ \
|
||||
AUGMENTATION_PARAM_FDE \
|
||||
/* The rest of the code depends on the number of parameters the syscall \
|
||||
takes. */ \
|
||||
EH_FRAME_##args(name); \
|
||||
@ -98,6 +95,31 @@
|
||||
L(ENDFDE): \
|
||||
.previous
|
||||
|
||||
#ifdef SHARED
|
||||
/* NUL-terminated augmentation string. Note "z" means there is an
|
||||
augmentation value later on. */
|
||||
# define AUGMENTATION_STRING .string "zR"
|
||||
# define AUGMENTATION_PARAM \
|
||||
/* Augmentation value length. */ \
|
||||
.uleb128 1; \
|
||||
/* Encoding: DW_EH_PE_pcrel + DW_EH_PE_sdata4. */ \
|
||||
.byte 0x1b;
|
||||
# define AUGMENTATION_PARAM_FDE \
|
||||
/* No augmentation data. */ \
|
||||
.uleb128 0;
|
||||
# define START_SYMBOL_REF(name) \
|
||||
/* PC-relative start address of the code. */ \
|
||||
.long L(name##START)-.
|
||||
#else
|
||||
/* No augmentation. */
|
||||
# define AUGMENTATION_STRING .ascii "\0"
|
||||
# define AUGMENTATION_PARAM /* nothing */
|
||||
# define AUGMENTATION_PARAM_FDE /* nothing */
|
||||
# define START_SYMBOL_REF(name) \
|
||||
/* Absolute start address of the code. */ \
|
||||
.long L(name##START)
|
||||
#endif
|
||||
|
||||
/* Callframe description for syscalls without parameters. This is very
|
||||
simple. The only place the stack pointer is changed is when the old
|
||||
cancellation state value is saved. */
|
||||
|
@ -329,78 +329,88 @@ versioned_symbol (libpthread, __pthread_cond_timedwait, pthread_cond_timedwait,
|
||||
|
||||
.section .eh_frame,"a",@progbits
|
||||
.LSTARTFRAME:
|
||||
.long L(ENDCIE)-L(STARTCIE) # Length of the CIE.
|
||||
.long L(ENDCIE)-L(STARTCIE) # Length of the CIE.
|
||||
.LSTARTCIE:
|
||||
.long 0 # CIE ID.
|
||||
.byte 1 # Version number.
|
||||
.long 0 # CIE ID.
|
||||
.byte 1 # Version number.
|
||||
#ifdef SHARED
|
||||
.string "zR" # NUL-terminated augmentation string.
|
||||
.string "zR" # NUL-terminated augmentation
|
||||
# string.
|
||||
#else
|
||||
.ascii "\0" # NUL-terminated augmentation string.
|
||||
.ascii "\0" # NUL-terminated augmentation
|
||||
# string.
|
||||
#endif
|
||||
.uleb128 1 # Code alignment factor.
|
||||
.sleb128 -8 # Data alignment factor.
|
||||
.byte 16 # Return address register column.
|
||||
.uleb128 1 # Code alignment factor.
|
||||
.sleb128 -8 # Data alignment factor.
|
||||
.byte 16 # Return address register
|
||||
# column.
|
||||
#ifdef SHARED
|
||||
.uleb128 1 # Augmentation value length.
|
||||
.byte 0x1b # Encoding: DW_EH_PE_pcrel
|
||||
# + DW_EH_PE_sdata4.
|
||||
.uleb128 1 # Augmentation value length.
|
||||
.byte 0x1b # Encoding: DW_EH_PE_pcrel
|
||||
# + DW_EH_PE_sdata4.
|
||||
#endif
|
||||
.byte 0x0c # DW_CFA_def_cfa
|
||||
.byte 0x0c # DW_CFA_def_cfa
|
||||
.uleb128 7
|
||||
.uleb128 8
|
||||
.byte 0x90 # DW_CFA_offset, column 0x8
|
||||
.byte 0x90 # DW_CFA_offset, column 0x8
|
||||
.uleb128 1
|
||||
.align 8
|
||||
.LENDCIE:
|
||||
|
||||
.long .LENDFDE-.LSTARTFDE # Length of the FDE.
|
||||
.long .LENDFDE-.LSTARTFDE # Length of the FDE.
|
||||
.LSTARTFDE:
|
||||
.long .LSTARTFDE-.LSTARTFRAME # CIE pointer.
|
||||
.long .LSTARTFDE-.LSTARTFRAME # CIE pointer.
|
||||
#ifdef SHARED
|
||||
.long .LSTARTCODE-. # PC-relative start address of the code
|
||||
.long .LSTARTCODE-. # PC-relative start address
|
||||
# of the code
|
||||
#else
|
||||
.long .LSTARTCODE # Start address of the code.
|
||||
.long .LSTARTCODE # Start address of the code.
|
||||
#endif
|
||||
.long .LENDCODE-.LSTARTCODE # Length of the code.
|
||||
.long .LENDCODE-.LSTARTCODE # Length of the code.
|
||||
#ifdef SHARED
|
||||
.uleb128 0 # No augmentation data.
|
||||
.uleb128 0 # No augmentation data.
|
||||
#endif
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_r12-.LSTARTCODE
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Lpush_r12-.LSTARTCODE # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_r13-.Lpush_r12
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x8c # DW_CFA_offset %r12
|
||||
.uleb128 2
|
||||
.byte 0x40+.Lpush_r13-.Lpush_r12 # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 24
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_r14-.Lpush_r13
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x8d # DW_CFA_offset %r13
|
||||
.uleb128 3
|
||||
.byte 0x40+.Lpush_r14-.Lpush_r13 # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 32
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lsubq-.Lpush_r14
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x84 # DW_CFA_offset %r14
|
||||
.uleb128 4
|
||||
.byte 0x40+.Lsubq-.Lpush_r14 # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 112
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Laddq-.Lsubq
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Laddq-.Lsubq # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 32
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_r14-.Laddq
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Lpop_r14-.Laddq # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 24
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_r13-.Lpop_r14
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0xce # DW_CFA_restore %r14
|
||||
.byte 0x40+.Lpop_r13-.Lpop_r14 # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_r12-.Lpop_r13
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0xcd # DW_CFA_restore %r13
|
||||
.byte 0x40+.Lpop_r12-.Lpop_r13 # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 8
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl1-.Lpop_r12
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0xcc # DW_CFA_restore %r12
|
||||
.byte 0x40+.LSbl1-.Lpop_r12 # DW_CFA_advance_loc4
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 112
|
||||
.byte 0x8c # DW_CFA_offset %r12
|
||||
.uleb128 2
|
||||
.byte 0x8d # DW_CFA_offset %r13
|
||||
.uleb128 3
|
||||
.byte 0x84 # DW_CFA_offset %r14
|
||||
.uleb128 4
|
||||
.align 8
|
||||
.LENDFDE:
|
||||
|
@ -293,62 +293,66 @@ versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
|
||||
|
||||
.section .eh_frame,"a",@progbits
|
||||
.LSTARTFRAME:
|
||||
.long L(ENDCIE)-L(STARTCIE) # Length of the CIE.
|
||||
.long L(ENDCIE)-L(STARTCIE) # Length of the CIE.
|
||||
.LSTARTCIE:
|
||||
.long 0 # CIE ID.
|
||||
.byte 1 # Version number.
|
||||
.long 0 # CIE ID.
|
||||
.byte 1 # Version number.
|
||||
#ifdef SHARED
|
||||
.string "zR" # NUL-terminated augmentation string.
|
||||
.string "zR" # NUL-terminated augmentation
|
||||
# string.
|
||||
#else
|
||||
.ascii "\0" # NUL-terminated augmentation string.
|
||||
.ascii "\0" # NUL-terminated augmentation
|
||||
# string.
|
||||
#endif
|
||||
.uleb128 1 # Code alignment factor.
|
||||
.sleb128 -8 # Data alignment factor.
|
||||
.byte 16 # Return address register column.
|
||||
.uleb128 1 # Code alignment factor.
|
||||
.sleb128 -8 # Data alignment factor.
|
||||
.byte 16 # Return address register
|
||||
# column.
|
||||
#ifdef SHARED
|
||||
.uleb128 1 # Augmentation value length.
|
||||
.byte 0x1b # Encoding: DW_EH_PE_pcrel
|
||||
# + DW_EH_PE_sdata4.
|
||||
.uleb128 1 # Augmentation value length.
|
||||
.byte 0x1b # Encoding: DW_EH_PE_pcrel
|
||||
# + DW_EH_PE_sdata4.
|
||||
#endif
|
||||
.byte 0x0c # DW_CFA_def_cfa
|
||||
.byte 0x0c # DW_CFA_def_cfa
|
||||
.uleb128 7
|
||||
.uleb128 8
|
||||
.byte 0x90 # DW_CFA_offset, column 0x8
|
||||
.byte 0x90 # DW_CFA_offset, column 0x8
|
||||
.uleb128 1
|
||||
.align 8
|
||||
.LENDCIE:
|
||||
|
||||
.long .LENDFDE-.LSTARTFDE # Length of the FDE.
|
||||
.long .LENDFDE-.LSTARTFDE # Length of the FDE.
|
||||
.LSTARTFDE:
|
||||
.long .LSTARTFDE-.LSTARTFRAME # CIE pointer.
|
||||
.long .LSTARTFDE-.LSTARTFRAME # CIE pointer.
|
||||
#ifdef SHARED
|
||||
.long .LSTARTCODE-. # PC-relative start address of the code
|
||||
.long .LSTARTCODE-. # PC-relative start address
|
||||
# of the code
|
||||
#else
|
||||
.long .LSTARTCODE # Start address of the code.
|
||||
.long .LSTARTCODE # Start address of the code.
|
||||
#endif
|
||||
.long .LENDCODE-.LSTARTCODE # Length of the code.
|
||||
.long .LENDCODE-.LSTARTCODE # Length of the code.
|
||||
#ifdef SHARED
|
||||
.uleb128 0 # No augmentation data.
|
||||
.uleb128 0 # No augmentation data.
|
||||
#endif
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpush_r12-.LSTARTCODE
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Lpush_r12-.LSTARTCODE # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lsubq-.Lpush_r12
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x8c # DW_CFA_offset %r12
|
||||
.uleb128 2
|
||||
.byte 0x40+.Lsubq-.Lpush_r12 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 80
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Laddq-.Lsubq
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Laddq-.Lsubq # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 16
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .Lpop_r12-.Laddq
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0x40+.Lpop_r12-.Laddq # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 8
|
||||
.byte 4 # DW_CFA_advance_loc4
|
||||
.long .LSbl1-.Lpop_r12
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.byte 0xcc # DW_CFA_restore %r12
|
||||
.byte 0x40+.LSbl1-.Lpop_r12 # DW_CFA_advance_loc+N
|
||||
.byte 14 # DW_CFA_def_cfa_offset
|
||||
.uleb128 80
|
||||
.byte 0x8c # DW_CFA_offset %r12
|
||||
.uleb128 2
|
||||
.align 8
|
||||
.LENDFDE:
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1995-1999,2000,2001,2002 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995-1999,2000,2001,2002,2003 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
|
||||
|
||||
@ -196,9 +196,6 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
|
||||
idxarr = (int32_t *) alloca (srclen * sizeof (int32_t));
|
||||
rulearr = (unsigned char *) alloca (srclen + 1);
|
||||
}
|
||||
/* This element is only read, the value never used but to determine
|
||||
another value which then is ignored. */
|
||||
rulearr[srclen] = '\0';
|
||||
|
||||
idxmax = 0;
|
||||
do
|
||||
@ -211,6 +208,10 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
|
||||
}
|
||||
while (*usrc != L('\0'));
|
||||
|
||||
/* This element is only read, the value never used but to determine
|
||||
another value which then is ignored. */
|
||||
rulearr[idxmax] = '\0';
|
||||
|
||||
/* Now the passes over the weights. We now use the indeces we found
|
||||
before. */
|
||||
needed = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user