Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Apr 2013 01:34:32 GMT
From:      Derek Buitenhuis <derek.buitenhuis@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   amd64/178247: linker.hints erroneously included in 9.1-RELEASE-p3 binary update
Message-ID:  <201304300134.r3U1YWJS076450@red.freebsd.org>
Resent-Message-ID: <201304300140.r3U1e1R4006618@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         178247
>Category:       amd64
>Synopsis:       linker.hints erroneously included in 9.1-RELEASE-p3 binary update
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 30 01:40:01 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Derek Buitenhuis
>Release:        9.1-RELEASE-p3
>Organization:
>Environment:
FreeBSD bb-nas.bb-router 9.1-RELEASE-p3 FreeBSD 9.1-RELEASE-p3 #0: Mon Apr 29 18:27:25 UTC 2013     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
When running 'freebsd-update fetch' and 'freebsd-update install', it wil attempt to replace /boot/kernel/linker.hints infinitely.

Example:
----
root@bb-nas:/home/daemon404$ freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 9.1-RELEASE from update3.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

The following files will be updated as part of updating to 9.1-RELEASE-p3:
/boot/kernel/linker.hints
$ freebsd-update install
Installing updates... done.
$ reboot
[...]
$ freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 9.1-RELEASE from update4.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

The following files will be updated as part of updating to 9.1-RELEASE-p3:
/boot/kernel/linker.hints
----

Repeat ad nauseum.

This is because linker.hints is generated by kldxref, and thus it will always differ from the one provided in the update, and should thus not be packaged.
>How-To-Repeat:
Have a FreeBSD 9.1 binary install (no sources installed at all) updated to 9.1-RELEASE-p2, and run 'freebsd-update fetch' and 'freebsd-update install'.
>Fix:
There is a hack workaround located here: http://forums.freebsd.org/showthread.php?t=1362

To quote jgh:
----
These are taken from /etc/defaults/rc.conf:

kldxref_enable="NO"	# Build linker.hints files with kldxref(8). (this should be set to YES)
kldxref_clobber="NO"	# Overwrite old linker.hints at boot. (this should be set to YES)
kldxref_module_path=""	# Override kern.module_path. A ';'-delimited list. (you can add both paths for /boot/kernel/;/boot/GENERIC)

After this, you want to add your two paths that are being updated to "IgnorePaths" in /etc/freebsd-update.conf.
----

This is very much not ideal.

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304300134.r3U1YWJS076450>