mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-08 15:30:40 -08:00
* exec/loader-mips64el.s (rest_of_exec): Deal with assembler bugs.
This commit is contained in:
parent
458ad0cb89
commit
19b6e36a22
1 changed files with 4 additions and 2 deletions
|
|
@ -175,13 +175,15 @@ rest_of_exec:
|
||||||
dadd $s1, $s1, $t0 # s1 = start of envp
|
dadd $s1, $s1, $t0 # s1 = start of envp
|
||||||
skip_environ:
|
skip_environ:
|
||||||
/* Locate the auxiliary vector. */
|
/* Locate the auxiliary vector. */
|
||||||
|
li $t8, 8 # DADDI2 isn't appropriate in delay slots.
|
||||||
1: ld $t0, ($s1) # t0 = *s1
|
1: ld $t0, ($s1) # t0 = *s1
|
||||||
bnez $t0, 1b # skip environment entry
|
bnez $t0, 1b # skip environment entry
|
||||||
daddi $s1, $s1, 8 # s1++
|
dadd $s1, $s1, $t8 # s1++
|
||||||
move $s2, $s1 # s2 = end of environment
|
move $s2, $s1 # s2 = end of environment
|
||||||
|
li $t8, 16
|
||||||
1: ld $t0, ($s1) # t0 = s1->a_type
|
1: ld $t0, ($s1) # t0 = s1->a_type
|
||||||
bnez $t0, 1b # skip auxiliary vector entry
|
bnez $t0, 1b # skip auxiliary vector entry
|
||||||
daddi $s1, $s1, 16 # (Elf64_auxv_t *) s1++
|
dadd $s1, $s1, $t8 # (Elf64_auxv_t *) s1++
|
||||||
/* Decide how many bytes must be copied and where to
|
/* Decide how many bytes must be copied and where to
|
||||||
save the file name. Move the stack pointer to a safe
|
save the file name. Move the stack pointer to a safe
|
||||||
position below any data that must be preserved. */
|
position below any data that must be preserved. */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue