From owner-freebsd-hackers Sat May 22 5:57:22 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from relay.ucb.crimea.ua (relay.ucb.crimea.ua [212.110.138.1]) by hub.freebsd.org (Postfix) with ESMTP id 3CB1714C05; Sat, 22 May 1999 05:57:05 -0700 (PDT) (envelope-from ru@ucb.crimea.ua) Received: (from ru@localhost) by relay.ucb.crimea.ua (8.9.3/8.9.3/UCB) id PAA83366; Sat, 22 May 1999 15:57:02 +0300 (EEST) (envelope-from ru) Date: Sat, 22 May 1999 15:57:01 +0300 From: Ruslan Ermilov To: release engineer , compat22 author Cc: others Subject: [ALERT] a.out support is broken in 3.2-STABLE and 4.0-CURRENT Message-ID: <19990522155701.A67458@relay.ucb.crimea.ua> Mail-Followup-To: release engineer , compat22 author , others Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.3i X-Operating-System: FreeBSD 3.2-STABLE i386 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Environment ----------- - 3.2-STABLE (CD-ROM version or built without -DWANT_AOUT) - 4.0-CURRENT (built without -DWANT_AOUT) Problem ------- Fact: ld.so (rtld-aout) is built as part of ``legacy-build'' and then installed as part of ``legacy-install''. In order to build it, one needs to pass -DWANT_AOUT to the ``make world'' process. This will build a.out libraries and legacy boot as well. Fact: compatXX distributions depend on ld.so. Problem: Releases are built (see src/release/Makefile) by calling the ``make world'' without -DWANT_AOUT, thus making compatXX distributions useless. Possible Solutions ------------------ 1. Add -DWANT_AOUT to src/release/Makefile. But in this case release will also contain (besides ld.so) a lot of unnecessary items: legacy boot files and a.out versions of current libraries. 2. Make -DWANT_AOUT build only the basic a.out support (ld.so) for binary compatibility with earlier releases and pass -DWANT_AOUT in src/release/Makefile when calling ``make world''. The necessary libraries could then be built and installed by passing corresponding -DCOMPATxx options to ``make world'' process, or by selecting desired compatXX distributions, if installing from the release media (FTP, CDROM). 3. Totally remove a.out support and push ld.so into all compatXX distributions. By the way, this is promised in src/Makefile: # If -DWANT_AOUT is specified, a `make world' with OBJFORMAT=elf will # update the legacy support for aout. This includes all libraries, ld.so # and boot objects. This part of build should be regarded as # deprecated and you should _not_ expect to be able to do this past the ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # release of 3.1. You have exactly one major release to move entirely ^^^^^^^^^^^^^^ # to elf. References ---------- http://www.freebsd.org/cgi/query-pr.cgi?pr=11828 Cheers, -- Ruslan Ermilov Sysadmin and DBA of the ru@ucb.crimea.ua United Commercial Bank +380.652.247.647 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message