History log of /pciutils/Makefile (Results 1 – 25 of 206)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v3.14.0
# 6f6d842e 21-Jun-2025 Martin Mares <[email protected]>

Released as v3.14.0


Revision tags: v3.13.0
# 7c5bf915 30-May-2024 Martin Mares <[email protected]>

Released as v3.13.0


# 26359ed3 22-May-2024 Nikita Proshkin <[email protected]>

pcilmr: Move most of pcilmr arguments parsing logic to the separate file

Also change arguments parsing logic: now link parameters (selected lane
numbers, timing or voltage steps, etc) need to be spe

pcilmr: Move most of pcilmr arguments parsing logic to the separate file

Also change arguments parsing logic: now link parameters (selected lane
numbers, timing or voltage steps, etc) need to be specified after link port
and will affect only this link margining (previously, one option was
applied to all links).

See updated man for syntax and example.

Signed-off-by: Nikita Proshkin <[email protected]>

show more ...


Revision tags: v3.12.0
# cb00a99b 05-Apr-2024 Martin Mares <[email protected]>

Released as v3.12.0


# a34006f8 25-Feb-2024 Pali Rohár <[email protected]>

Makefile: Pass CFLAGS also when linking executable

Optimization flags like -O2 from $(OPT) passed via $(CFLAGS) used during
compiling individual object files are ignored when gcc's LTO is enabled fo

Makefile: Pass CFLAGS also when linking executable

Optimization flags like -O2 from $(OPT) passed via $(CFLAGS) used during
compiling individual object files are ignored when gcc's LTO is enabled for
the linking final executable.

Optimization flags used for compiling individual object files should be
same as optimization flags for linking final executable.

Fix propagation of $(CFLAGS) and $(OPT) when LTO is enabled.

show more ...


Revision tags: v3.11.1
# 08f8e666 24-Feb-2024 Martin Mares <[email protected]>

Releasing as v3.11.1.


Revision tags: v3.11.0
# 04688d71 24-Feb-2024 Martin Mares <[email protected]>

Released as v3.11.0


# 7b65e5e1 18-Feb-2024 Pali Rohár <[email protected]>

lspci: Fix make uninstall


# 77147f9f 18-Feb-2024 Pali Rohár <[email protected]>

pcilmr: Add missing Makefile rules


# 370be0de 18-Feb-2024 Pali Rohár <[email protected]>

pcilmr: Fix compilation for windows and djgpp


# be40c473 18-Feb-2024 Martin Mares <[email protected]>

Makefile: Fix dependencies on header files


# a8798cb1 18-Feb-2024 Martin Mares <[email protected]>

Makefile: Additions to CFLAGS require an override

Otherwise, they are ignored when "make CFLAGS=something" is used.


# 1154602d 18-Feb-2024 Martin Mares <[email protected]>

Makefile: When linking pcilmr, specify library last


# 87a37a6d 27-Dec-2023 Nikita Proshkin <[email protected]>

pcilmr: Add pcilmr man page

Reviewed-by: Sergei Miroshnichenko <[email protected]>
Signed-off-by: Nikita Proshkin <[email protected]>


# ce123c88 27-Dec-2023 Nikita Proshkin <[email protected]>

pcilmr: Add utility main function

Reviewed-by: Sergei Miroshnichenko <[email protected]>
Signed-off-by: Nikita Proshkin <[email protected]>


# 7d23054d 27-Dec-2023 Nikita Proshkin <[email protected]>

libpci: Add separate file for bit manipulation functions

Move several macros from lspci and add some more for operations with
bit masks.

Reviewed-by: Sergei Miroshnichenko <[email protected]

libpci: Add separate file for bit manipulation functions

Move several macros from lspci and add some more for operations with
bit masks.

Reviewed-by: Sergei Miroshnichenko <[email protected]>
Signed-off-by: Nikita Proshkin <[email protected]>

show more ...


# 7ec58f1c 23-Jul-2023 Martin Mares <[email protected]>

update-pciids: Report itself as an user agent, version included

Unfortunately, this leads to the User-Agent not containing version
of curl/wget/lynx we used.


# 0766bfa0 01-May-2023 Martin Mares <[email protected]>

Fix stripping in cross-compiling mode

Fixes 3d7466ef8545d37a4666e185a9f5d65ceb9c8af4.


Revision tags: v3.10.0
# 21407521 01-May-2023 Martin Mares <[email protected]>

Released as v3.10.0.


# 3d7466ef 17-Mar-2023 mingrui.ren <[email protected]>

Makefile: change STRIP to '--strip-program' when cross-compile

When cross-compile, we should use specific strip instead of default
/usr/bin/strip.

reference:https://man7.org/linux/man-pages/man1/in

Makefile: change STRIP to '--strip-program' when cross-compile

When cross-compile, we should use specific strip instead of default
/usr/bin/strip.

reference:https://man7.org/linux/man-pages/man1/install.1.html

Signed-off-by: mingrui.ren <[email protected]>

show more ...


Revision tags: v3.9.0
# 5abf1911 20-Nov-2022 Martin Mares <[email protected]>

Released as 3.9.0


# 2e2fe038 05-Nov-2022 Pali Rohár <[email protected]>

windows: Put name and version information into lspci/setpci executables

Extend existing .in resource template file and generate resource objects
also for lspci.exe and setpci.exe executables.


# 59cb6568 08-May-2022 Pali Rohár <[email protected]>

libpci: Put name and version information into DLL library

Generate rc file from in template and fill DLL name and DLL version from
Makefile.

It looks like that the only possible way via GNU tools t

libpci: Put name and version information into DLL library

Generate rc file from in template and fill DLL name and DLL version from
Makefile.

It looks like that the only possible way via GNU tools to specify version
information for DLL library is via text rc file compiled as COFF object
file via GNU windres and linked into the final DLL library via GNU ld.

show more ...


# 32934d5b 08-May-2022 Pali Rohár <[email protected]>

libpci: Add support for building versioned shared Windows DLL library libpci3.dll

PE/COFF format, used by DLL libraries, does not support version symbols
like ELF format. Recommendation from Microso

libpci: Add support for building versioned shared Windows DLL library libpci3.dll

PE/COFF format, used by DLL libraries, does not support version symbols
like ELF format. Recommendation from Microsoft for DLL symbol versioning is
to use DLL API sets. But DLL API sets scheme requires for every API change
to generated a new slim forwarding DLL library, which is unsuitable for
distribution which wants just one DLL library with all version symbols.

So instead of Microsoft recommended scheme for DLL versioning, use new
different versioning scheme: Symbol is composed by function name, at (@)
character and version string (version is same as for ELF targets). Symbol
name without version information is added only into the DLL DEF file as
alias to symbol with higest version. So linker at application link time
resolves "unversioned" symbol to the versioned one via this alias and puts
"versioned" symbol into final executable. This works fine if GNU LD is
linking application via import library libpci3.dll.a generated from that
DLL DEF file libpci3.def. But does not work when linking directly to the
DLL library because library itself does not contain aliases. Note that GNU
LD does not support linking to DEF file (it is required to first generated
import library from DEF file).

Note that older GNU LD versions have bug which cause generation of
corrupted DLL files if some symbol contains dot (.) character. Hopefully
this bug was fixed in GNU LD 2.21.

At the end application lspci.exe requires library libpci3.dll with symbols
pci_alloc@LIBPCI_3.0, pci_init@LIBPCI_3.5, pci_fill_info@LIBPCI_3.8 and
therefore libpci3.dll stays backward compatible with future changes.

PE/COFF executables can reference symbols either via name or via its
ordinal number. Because DLL DEF files are generated from libpci version
script and generator ver2def.pl preserves order of symbols, it means that
ordinal numbers stay backward compatible unless order of lines in version
script is changed.

WARNINGS:

GCC an GNU LD for Windows target have some bugs which cause that
-fvisibility=hidden switch and __attribute__((visibility("default"))) does
not work. Seems that they are broken and ignored when building DLL library.
So instead use -Wl,--exclude-all-symbols switch with explicit DLL DEF file
for building DLL library, which seems to work. This switch is supported
since GNU LD 2.21.

GNU LD has also another bug which results in broken DLL library if input
DLL DEF file which describes symbols for exports, contains also symbol
aliases via == operator.

So do not specify symbol aliases in input DLL DEF file for building DLL
library. Instead construct separate DLL DEF file for building libpci3.dll
without symbol aliases and separate DLL DEF file libpci3.def with symbol
aliases for building import library libpci3.dll.a suitable for linking into
target applications. Note that operator == for symbol aliases is supported
since GNU dlltool 2.21.

Generate those two DLL DEF files via new script ver2def.pl from libpci.ver
version script. So exported functions and version symbols would be defined
only at one place in file libpci.ver.

Note that GNU LD for Windows targets has also broken support for version
scripts, it exports nonsense data and completely ignores version
information. So always use only DLL DEF files generated by ver2def.pl
script and never pass original version script to GNU LD.

Due to another bugs in GNU dlltool, ordinals for aliased symbols from DLL
DEF file are calculated incorrectly when building import library. So
calculate ordinals manually in ver2def.pl script and explicitly put then
into generated libpci3.def DLL DEF file for every symbol, including
aliases.

And because aliases are stored only in libpci3.def file (and in import
library libpci3.dll.a generated from that DEF file) and not in DLL library
libpci3.dll itself, it is required to link all libpci applications via
import library and not directly to libpci3.dll. This is limitation of
PE/COFF format used by DLL libraries.

So for building Windows DLL library libpci3.dll is needed to use GNU
binutils 2.21 or new.

show more ...


# d0130eb3 18-Apr-2022 Pali Rohár <[email protected]>

Makefile: Split variable for output shared library and import linking library

Use new variable $(PCIIMPLIB) for storing name of the libpci import library
for linking with shared library $(PCILIB).

Makefile: Split variable for output shared library and import linking library

Use new variable $(PCIIMPLIB) for storing name of the libpci import library
for linking with shared library $(PCILIB).

This would allow compilation of lspci and setpci applications on systems
where linking needs to be done with import library.

show more ...


123456789