Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 May 1999 15:57:01 +0300
From:      Ruslan Ermilov <ru@ucb.crimea.ua>
To:        release engineer <jkh@freebsd.org>, compat22 author <obrien@freebsd.org>
Cc:        others <hackers@freebsd.org>
Subject:   [ALERT] a.out support is broken in 3.2-STABLE and 4.0-CURRENT
Message-ID:  <19990522155701.A67458@relay.ucb.crimea.ua>

next in thread | raw e-mail | index | archive | help
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




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