This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PIE/PIC issue ...w.r.t linker variable
- From: Umesh Kalappa <umesh dot kalappa0 at gmail dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at foss dot arm dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Fri, 12 Feb 2016 15:28:09 +0530
- Subject: Re: PIE/PIC issue ...w.r.t linker variable
- Authentication-results: sourceware.org; auth=none
- References: <CAGfacvTshSqRqNHmpD5bqsNi1uJdPDZk0u-zdFwKAJWTJQeKnA at mail dot gmail dot com> <56BDA642 dot 2080700 at foss dot arm dot com>
Hi Kyrill ,
Thank you for the info ,before i file a bug ,need to confirm its a bug or not .
Thank you
~Umesh
On Fri, Feb 12, 2016 at 3:00 PM, Kyrill Tkachov
<kyrylo.tkachov@foss.arm.com> wrote:
> Hi,
>
>
> On 12/02/16 09:19, Umesh Kalappa wrote:
>>
>> Hi Guys ,
>>
>> we do have a issue with below code ,When we enabled the pie (-fpie/pie)
>> option
>> i.e
>>
>> main.c
>> extern int *my_ptr ;
>>
>> int main()
>> {
>> return *my_ptr;
>> }
>>
>> foo.s
>> .syntax unified
>> .cpu cortex-m0
>> .fpu softvfp
>> .thumb
>> .global my_ptr
>> .global my_var
>> .data
>> .align 2
>> .type my_ptr, %object
>> .size my_ptr, 4
>> my_ptr:
>> .word my_var //where my_var is the linker variable
>>
>> custom.ld (linker script)
>> /* Set stack top to end of RAM, and stack limit move down by
>> 190 * size of stack_dummy section */
>> 191 my_var = 20;
>> 192 __StackTop = ORIGIN(RAM) + LENGTH(RAM);
>> 193 __StackLimit = __StackTop - SIZEOF(.stack_dummy);
>> 194 PROVIDE(__stack = __StackTop);
>>
>>
>> command used
>>
>> 3 arm-none-eabi-gcc -c -fPIC main.c -mthumb -mcpu=cortex-m0
>> 4
>> 5 arm-none-eabi-gcc -c -fPIC foo.S -mthumb -mcpu=cortex-m0
>> 6 arm-none-eabi-gcc -c -fPIC
>>
>> /home/egoumal/Downloads/gcc-arm-none-eabi-5_2-2015q4/share/gcc-arm-none-eabi/samples/startup/startu
>> p_ARMCM0.S -mthumb -mcpu=cortex-m0 -D__STARTUP_CLEAR_BSS
>> -D__START=main
>> 7
>> 8 arm-none-eabi-ld -pie main.o foo.o startup_ARMCM0.o -L.
>> -L/home/egoumal/Downloads/gcc-arm-none-eabi-5_2-2015q4/share/gcc-ar
>> m-none-eabi/samples/ldscripts -T nokeep.ld -Map=test.map -o test
>>
>> we expect my_ptr value to be 20 ,but we do see the value 0 and without
>> pie option ,the my_ptr has the value 20 .
>>
>> do we missing something here or value 0 expected (which is incorrect)
>
>
> note that gcc-bugs is the list where the automatic bug tracker sends all the
> emails
> logging almost all activity, so your email would be lost there...
> Please file a bug report in bugzilla according to https://gcc.gnu.org/bugs/
>
> Thanks,
> Kyrill
>
>
>>
>> Thank you and appreciate any lights on this
>> ~Umesh
>>
>