Blame sysdeps/x86_64/tst-split-dynreloc.c

Packit Service 82fcde
/* This test will be used to create an executable with a specific
Packit Service 82fcde
   section layout in which .rela.dyn and .rela.plt are not contiguous.
Packit Service 82fcde
   For x86 case, readelf will report something like:
Packit Service 82fcde
Packit Service 82fcde
   ...
Packit Service 82fcde
   [10] .rela.dyn         RELA
Packit Service 82fcde
   [11] .bar              PROGBITS
Packit Service 82fcde
   [12] .rela.plt         RELA
Packit Service 82fcde
   ...
Packit Service 82fcde
Packit Service 82fcde
   This is important as this case was not correctly handled by dynamic
Packit Service 82fcde
   linker in the bind-now case, and the second section was never
Packit Service 82fcde
   processed.  */
Packit Service 82fcde
Packit Service 82fcde
#include <stdio.h>
Packit Service 82fcde
Packit Service 82fcde
const int __attribute__ ((section(".bar"))) bar = 0x12345678;
Packit Service 82fcde
static const char foo[] = "foo";
Packit Service 82fcde
Packit Service 82fcde
static int
Packit Service 82fcde
do_test (void)
Packit Service 82fcde
{
Packit Service 82fcde
  printf ("%s %d\n", foo, bar);
Packit Service 82fcde
  return 0;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
#define TEST_FUNCTION do_test ()
Packit Service 82fcde
#include "../test-skeleton.c"