coreboot-kgpe-d16/util/msrtool
Paul Menzel 459d2198eb msrtool: Remove `no-pic` from `CFLAGS`
Commit 7c634ae8 (msrtool: added support for Intel CPUs) adds `no-pic` to
the compiler flags.

GCC 7.0.1 20170316 fails to built with the error below.

```
/usr/bin/ld: msrtool.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: msrutils.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: sys.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: linux.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: freebsd.o: relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
```

Removing the flag causes the build to succeed with GCC 7, 6.3, and clang
4.0.

Change-Id: I3d7aed27ce7f84aa27305c68e2d5f14607c58ec8
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: https://review.coreboot.org/18907
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Tauner <stefan.tauner@gmx.at>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2017-06-09 16:32:54 +02:00
..
COPYING
Makefile.in msrtool: Remove `no-pic` from `CFLAGS` 2017-06-09 16:32:54 +02:00
README
TODO
configure
cs5536.c
darwin.c
freebsd.c
geodegx2.c
geodelx.c
intel_atom.c
intel_core1.c
intel_core2_early.c
intel_core2_later.c
intel_nehalem.c
intel_pentium3.c
intel_pentium3_early.c
intel_pentium4_early.c
intel_pentium4_later.c
k8.c
linux.c
msrtool.c
msrtool.h
msrutils.c
sys.c

README

You need to be ROOT or use SUDO to execute MSRTOOL.

Note that you need /dev/cpu/*/msr available to run msrtool in Linux.


syntax: msrtool [-hvqrkl] [-c cpu] [-m system] [-t target ...]
         [-i addr=hi[:]lo] | [-s file] | [-d [:]file] | addr...
  -h     show this help text
  -v     be verbose
  -q     be quiet (overrides -v)
  -r     include [Reserved] values
  -k     list all known systems and targets
  -l     list MSRs and bit fields for current target(s) (-kl for ALL targets!)
  -c     access MSRs on the specified CPU, default=0
  -m     force a system, e.g: -m linux
  -t     force a target, can be used multiple times, e.g: -t geodelx -t cs5536
  -i     immediate mode
         decode hex addr=hi:lo for the target without reading hw value
         e.g: -i 4c00000f=f2f100ff56960004
  -s     stream mode
         read one MSR address per line and append current hw value to the line
         use the filename - for stdin/stdout
         using -l -s ignores input and will output all MSRs with values
  -d     diff mode
         read one address and value per line and compare with current hw value,
         printing differences to stdout. use the filename - to read from stdin
         use :file or :- to reverse diff, normally hw values are considered new
  addr.. direct mode, read and decode values for the given MSR address(es)


Examples:

msrtool 0x20000018

./msrtool 0x200000{18,19,1a,1b,1c,1d} 0x4c0000{0f,14}