1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-11-17 13:10:42 +01:00
Elliott Hughes 359c535a05 helpers_fileio.c: fix fsync() check.
Both the _POSIX_FSYNC macro and the fsync() declaration are in
<unistd.h>. The current code works by accident on glibc courtesy of
transitive includes, but is broken in Android currently (mistakenly
assuming there is no fsync() because _POSIX_FSYNC isn't defined, merely
because <unistd.h> hasn't been included), and won't compile with Android's
C23 addition of call_once() to <stdlib.h> because _POSIX_FSYNC comes in
transitively via <limits.h> but without <unistd.h> for the fsync()
declaration.

Fix all of this by just including the right POSIX header file for both
the feature macro and the function declaration.

Change-Id: Ifd6eeba56cffabb6a37880c78ea21de4705308b5
Signed-off-by: Elliott Hughes <enh@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/90015
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2025-11-17 00:29:32 +00:00
2025-11-07 08:21:28 +00:00
2025-11-12 11:30:28 +00:00
2025-10-14 10:40:26 +00:00
2024-08-12 00:09:12 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:17 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:28 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:17 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-14 10:39:40 +00:00
2025-10-14 10:39:40 +00:00
2025-10-14 10:39:40 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:17 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-09-28 08:25:39 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:17 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:17 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:28 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:17 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-02-24 06:50:19 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-10-18 07:10:08 +00:00
2025-10-18 07:10:08 +00:00
2025-11-12 11:30:17 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:17 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00
2025-11-12 11:30:28 +00:00

flashrom README
===============

flashrom is a utility for detecting, reading, writing, verifying and erasing
flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images
in-system using a supported mainboard, but it also supports flashing of network
cards (NICs), SATA controller cards, and other external devices which can
program flash chips.

It supports a wide range of flash chips (most commonly found in SOIC8, DIP8,
SOIC16, WSON8, PLCC32, DIP32, TSOP32, and TSOP40 packages), which use various
protocols such as LPC, FWH, parallel flash, or SPI.

Do not use flashrom on laptops (yet)! The embedded controller (EC) present in
many laptops might interact badly with any attempts to communicate with the
flash chip and may brick your laptop.

Please make a backup of your flash chip before writing to it.

Please see the flashrom(8) manpage :doc:`classic_cli_manpage`.

The list of platforms that package flashrom can be found on `repology.org <https://repology.org/project/flashrom/versions>`_.

Information about recent releases can be found in :doc:`/release_notes/index`.

Building / installing / packaging
---------------------------------

flashrom is built with **meson**. TLDR:

::

    meson setup builddir
    meson compile -C builddir
    meson test -C builddir
    meson install -C builddir

For full detailed instructions, follow the information in
:doc:`dev_guide/building_from_source`.

If you are interested in development, have a look at :doc:`dev_guide/development_guide`.

Contact
-------

The official flashrom website is:

  https://www.flashrom.org/

For available contact methods see :doc:`contact`
Description
No description provided
Readme 73 MiB
Languages
C 90.2%
Rust 5%
Shell 2%
Makefile 1.6%
Meson 1.2%