diff --git a/include/lib/libc/string.h b/include/lib/libc/string.h
index 050f6438095c9074dbd5fe7cc8368513e009d5f9..3c8e3b65e2d0aed4812650dd006e7d2d11e50bec 100644
--- a/include/lib/libc/string.h
+++ b/include/lib/libc/string.h
@@ -27,5 +27,6 @@ char *strchr(const char *s, int c);
 void *memset(void *dst, int val, size_t count);
 size_t strlen(const char *s);
 size_t strnlen(const char *s, size_t maxlen);
+char *strrchr(const char *p, int ch);
 
 #endif /* STRING_H */
diff --git a/lib/libc/libc.mk b/lib/libc/libc.mk
index 554f36bb7a7b5dc195205f06afbdba9131ba2747..daa2ec102cb86b20d1560faabbf4be2f27133ab3 100644
--- a/lib/libc/libc.mk
+++ b/lib/libc/libc.mk
@@ -21,7 +21,8 @@ LIBC_SRCS	:=	$(addprefix lib/libc/,	\
 			strcmp.c			\
 			strlen.c			\
 			strncmp.c			\
-			strnlen.c)
+			strnlen.c			\
+			strrchr.c)
 
 INCLUDES	+=	-Iinclude/lib/libc		\
 			-Iinclude/lib/libc/$(ARCH)	\
diff --git a/lib/libc/strrchr.c b/lib/libc/strrchr.c
index 6afb8c1a497fb044b8f97f44fd591e0a48910832..cd435ff3e699d271054a42df31d58c396b95c383 100644
--- a/lib/libc/strrchr.c
+++ b/lib/libc/strrchr.c
@@ -29,12 +29,6 @@
  * SUCH DAMAGE.
  */
 
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)rindex.c	8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <stddef.h>
 #include <string.h>
 
@@ -53,5 +47,3 @@ strrchr(const char *p, int ch)
 	}
 	/* NOTREACHED */
 }
-
-__weak_reference(strrchr, rindex);