diff --git a/ChangeLog b/ChangeLog index ef0453b..6ef5661 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-09-18 Wang Boshi (tiny change) + + * sysdeps/aarch64/start.S: Use MOVL instead of literal pools. + * sysdeps/aarch64/sysdep.h (MOVL): Add MOVL macro. + 2017-03-15 Steve Ellcey Adhemerval Zanella diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S index 1320841..8fe2960 100644 --- a/sysdeps/aarch64/start.S +++ b/sysdeps/aarch64/start.S @@ -16,6 +16,8 @@ License along with the GNU C Library. If not, see . */ +#include + /* This is the canonical entry point, usually the first thing in the text segment. @@ -70,9 +72,9 @@ _start: ldr x4, [x4, #:got_lo12:__libc_csu_fini] #else /* Set up the other arguments in registers */ - ldr x0, =main - ldr x3, =__libc_csu_init - ldr x4, =__libc_csu_fini + MOVL (0, main) + MOVL (3, __libc_csu_init) + MOVL (4, __libc_csu_fini) #endif /* __libc_start_main (main, argc, argv, init, fini, rtld_fini, diff --git a/sysdeps/aarch64/sysdep.h b/sysdeps/aarch64/sysdep.h index b2e00de..a4e165c 100644 --- a/sysdeps/aarch64/sysdep.h +++ b/sysdeps/aarch64/sysdep.h @@ -18,6 +18,13 @@ #include +# define AARCH64_R(NAME) R_AARCH64_ ## NAME +# define PTR_REG(n) x##n +# define PTR_LOG_SIZE 3 +# define DELOUSE(n) + +#define PTR_SIZE (1<