1. 09 May, 2022 1 commit
    • Alexey Kardashevskiy's avatar
      powerpc/64: Add UADDR64 relocation support · 151322c2
      Alexey Kardashevskiy authored
      commit d7997691 upstream.
      
      When ld detects unaligned relocations, it emits R_PPC64_UADDR64
      relocations instead of R_PPC64_RELATIVE. Currently R_PPC64_UADDR64 are
      detected by arch/powerpc/tools/relocs_check.sh and expected not to work.
      Below is a simple chunk to trigger this behaviour (this disables
      optimization for the demonstration purposes only, this also happens with
      -O1/-O2 when CONFIG_PRINTK_INDEX=y, for example):
      
        \#pragma GCC push_options
        \#pragma GCC optimize ("O0")
        struct entry {
                const char *file;
                int line;
        } __attribute__((packed));
        static const struct entry e1 = { .file = __FILE__, .line = __LINE__ };
        static const struct entry e2 = { .file = __FILE__, .line = __LINE__ };
        ...
        prom_printf("e1=%s %lx %lx\n", e1.file, (unsigned long) e1.file, mfmsr());
        prom_printf("e2=%s %lx\n", e2.file, (unsigned long) e2.file);
        \#pragma GCC pop_options
      
      This adds support for UADDR64 for 64bit. This r...
      151322c2
  2. 31 Jan, 2020 1 commit
  3. 30 Oct, 2019 1 commit
  4. 30 May, 2019 1 commit
  5. 28 Apr, 2017 1 commit
  6. 22 Sep, 2016 1 commit
  7. 23 Mar, 2015 1 commit