Julius Werner c228beff19 util/cbmem: Use commonlib ipchksum() algorithm
This patch switches the cbmem utility from its own IP checksum
implementation to the commonlib version (which is good because the old
one had a couple of bugs: doesn't work on odd sizes and may overflow
its carry accumulator with input larger than 64K).

Change-Id: I0bef2c85c37ddd3438b7ac6389e9daa3e4955b31
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80256
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-02-02 22:49:23 +00:00

44 lines
1.1 KiB
Makefile

##
## SPDX-License-Identifier: GPL-2.0-only
PROGRAM = cbmem
TOP ?= $(abspath ../..)
ROOT = $(TOP)/src
COMMONLIB = $(ROOT)/commonlib
CC ?= $(CROSS_COMPILE)gcc
INSTALL ?= /usr/bin/env install
PREFIX ?= /usr/local
CFLAGS ?= -O2
WERROR=-Werror
CFLAGS += -Wall -Wextra -Wmissing-prototypes -Wshadow $(WERROR)
CPPFLAGS += -I . -I $(ROOT)/commonlib/include -I $(ROOT)/commonlib/bsd/include
CPPFLAGS += -include $(ROOT)/commonlib/bsd/include/commonlib/bsd/compiler.h
OBJS = $(PROGRAM).o $(COMMONLIB)/bsd/ipchksum.o
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
clean:
rm -f $(PROGRAM) $(OBJS:.c=.o) .dependencies *~ junit.xml
install: $(PROGRAM)
$(INSTALL) -d $(DESTDIR)$(PREFIX)/sbin/
$(INSTALL) cbmem $(DESTDIR)$(PREFIX)/sbin/
distclean: clean
.dependencies:
@$(CC) $(CFLAGS) $(CPPFLAGS) -MM *.c > .dependencies
help:
@echo "${PROGRAM}: View machine's cbmem contents"
@echo "Targets: all, clean, distclean, help, install"
@echo "To disable warnings as errors, run make as:"
@echo " make all WERROR=\"\""
.PHONY: all clean distclean install help
-include .dependencies