Project

General

Profile

Actions

Bug #14666

closed

BUILD.SO rules shouldn't change search paths, should be consistent

Added by Rich Lowe 4 months ago. Updated 3 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
lib - userland libraries
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

BUILD64.SO passes a library search path innately, which makes life hard for anyone using it who doesn't need that path -- especially native tools for whom it is wrong.
There is also a discrepency about whether and how CCNEEDED is used here in the equivalent BUILDCCC.SO rule.

Unfortunately, fixing BUILD64.SO exposed issues with the modules in cmd/perl which try to build both ISAs out of the same Makefile. We would end up needing to use LDLIBS64 explicitly here, except we can't do that in BUILD64.SO because the original intent of BUILD64.SO is it (and the things it references) will get swapped into place by Makefile.lib.64, so most library makefiles explict to be able to set LDLIBS (at this point, equivalent to LDLIBS64).

Rather than growing out an expanding series of target-specific assignments in usr/src/cmd/perl/Makefile.perl, it proved easier to just split the perl modules to produce each ISA in a separate directory and use the makefiles more normally.
Unfortunately, that means the bulk of this change is actually in usr/src/cmd/perl, and, further, is 90% CDDL header by volume.


Related issues

Blocks illumos gate - Bug #14667: libfru doesn't really need its own BUILD.SOClosedRich Lowe

Actions
Actions #1

Updated by Rich Lowe 4 months ago

  • Blocks Bug #14667: libfru doesn't really need its own BUILD.SO added
Actions #2

Updated by Electric Monk 4 months ago

  • Gerrit CR set to 2134
Actions #3

Updated by Rich Lowe 4 months ago

tested with wsdiff and careful thought about the origin of differences, and the test suites of individual perl modules where they exist. Pieces of the lgrp tests skip because I don't have a sufficiently NUMA platform.

Actions #4

Updated by Rich Lowe 3 months ago

the tests I can't run are those are which covered under:

    skip 'Test only valid on NUMA platform', 9 unless $is_numa;

in Lgrp_api.t, regarding latencies between nodes etc. (because I don't have > 1 node)

Actions #5

Updated by Electric Monk 3 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit a5619348a00282a0a129610076aefdb4dd7ab2ab

commit  a5619348a00282a0a129610076aefdb4dd7ab2ab
Author: Richard Lowe <richlowe@richlowe.net>
Date:   2022-05-09T21:16:22.000Z

    14666 BUILD.SO rules shouldn't change search paths, should be consistent
    Reviewed by: Andy Fiddaman <andy@omnios.org>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Robert Mustacchi <rm@fingolfin.org>

Actions

Also available in: Atom PDF