https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78253

--- Comment #3 from Christophe Lyon <clyon at gcc dot gnu.org> ---
Compile the attached code with:
CFLAGS="-marm -fpie"
arm-linux-gnueabi-gcc $CFLAGS -c main.c -o main.o
arm-linux-gnueabi-gcc $CFLAGS -c some_module.c -o some_module.o

Link with
arm-linux-gnueabi-gcc -pie -o test_weak main.o some_module.o

Correct execution should show:
  Entering test_weak_funcion_call
  This line is to avoid optimization in further call_weak_by_pointer
    res_pointer_call = 11
    res_direct_call = 11
  All Ok

But instead we have:
  Entering test_weak_funcion_call
  This line is to avoid optimization in further call_weak_by_pointer
    res_pointer_call = 10
    res_direct_call = 11
  ERROR: Results from direct call and from call via pointer differs


The behaviour changed with r220674.

Reply via email to