coreboot-kgpe-d16/util/msrtool/Makefile.in
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

61 lines
1.5 KiB
Makefile

# Makefile for msrtool
#
# This file is part of msrtool.
#
# Copyright (c) 2008 Peter Stuge <peter@stuge.se>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
PROGRAM = msrtool
CC = @CC@
INSTALL = @INSTALL@
PREFIX = @PREFIX@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
TARGETS = geodegx2.o geodelx.o cs5536.o k8.o intel_pentium3_early.o intel_pentium3.o intel_pentium4_early.o intel_pentium4_later.o intel_core1.o intel_core2_early.o intel_core2_later.o intel_nehalem.o intel_atom.o
SYSTEMS = linux.o darwin.o freebsd.o
OBJS = $(PROGRAM).o msrutils.o sys.o $(SYSTEMS) $(TARGETS)
all: $(PROGRAM)
$(PROGRAM): $(OBJS) Makefile.deps
$(CC) -o $@ $(OBJS) $(LDFLAGS)
$(PROGRAM).o: $(PROGRAM).c
$(CC) $(CFLAGS) -DVERSION='"@VERSION@"' -c $< -o $@
install: $(PROGRAM)
mkdir -p $(DESTDIR)$(PREFIX)/sbin
$(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin
distprep: distclean Makefile.deps
clean:
rm -f $(PROGRAM) $(OBJS)
distclean: clean
rm -f Makefile
mrproper: distclean
rm -f Makefile.deps
dep:
rm -f Makefile.deps
$(MAKE) Makefile.deps
Makefile.deps: $(patsubst %.o,%.c,$(OBJS))
$(CC) -MM $^ > $@
.PHONY: all distprep clean distclean mrproper dep
-include Makefile.deps