Hi Vineet, Vineet Gupta wrote, > On Wednesday 15 June 2016 08:34 PM, Waldemar Brodkorb wrote: > > Hi Vineet, > > Vineet Gupta wrote, > > > >> Signed-off-by: Vineet Gupta <vgu...@synopsys.com> > >> --- > >> libc/sysdeps/linux/arc/crt1.S | 8 ++++++-- > >> 1 file changed, 6 insertions(+), 2 deletions(-) > >> > >> diff --git a/libc/sysdeps/linux/arc/crt1.S b/libc/sysdeps/linux/arc/crt1.S > >> index 95c41f888850..e38c8e81b2c0 100644 > >> --- a/libc/sysdeps/linux/arc/crt1.S > >> +++ b/libc/sysdeps/linux/arc/crt1.S > >> @@ -41,11 +41,15 @@ __start: > >> > >> mov_s r5, r0 ; rltd_fini > >> add_s r2, sp, 4 ; argv > >> - > >> +#ifdef L_Scrt1 > >> + add r0, pcl, @main@pcl > >> + add r3, pcl, @_init@pcl > >> + add r4, pcl, @_fini@pcl > >> +#else > >> mov_s r0, main > >> mov_s r3, _init > >> mov r4, _fini > >> - > >> +#endif > >> and sp, sp, -8 > >> mov r6, sp > > Can you please be a little more descriptive why this patch is > > useful? Will ARC support static PIE or is Scrt1.o used in other > > code? > > This is for a dynamically linked PIE - can we have static linked PIE ? Current > approach of taking addresses of functions, in not position independent but > still > works for the normal dynamically linked executables (non PIE) since the zero > based > addresses are rightly resolved in final link. This is not true for PIE hence > we > need a really position independent way (PC relative addr) to pass those > function > addresses.
You can try static PIE with binutils 2.26 and up with -Wl,--no-dynamic-linker, but my tests with ARM/MIPS failed. So I am not sure if crt1.S is the problem or something else. > Do u want me to respin with beefed up changelog. Yes, please. > > Sorry, had to resend with correct sender address. > > My address was wrong ? No, I use mutt and I am to lazy to configure send-hooks, so I manually change my mail address before sending e-Mails :/ best regards Waldemar _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc