Skip to content

Fix segfault if building on macOS 12+ with deployment target <=11#28

Open
taligentx wants to merge 1 commit intosigrokproject:masterfrom
taligentx:master
Open

Fix segfault if building on macOS 12+ with deployment target <=11#28
taligentx wants to merge 1 commit intosigrokproject:masterfrom
taligentx:master

Conversation

@taligentx
Copy link

kIOMasterPortDefault was replaced by kIOMainPortDefault as of macOS 12 and was addressed in #11. However, this causes a segfault if building on macOS 12+ with an older deployment target (for example, GitHub CI/CD runners support macOS 13+ only).

This PR sets kIOMainPortDefault to 0:
https://developer.apple.com/documentation/iokit/kiomasterportdefault
"When specifying a primary port to IOKit functions, the NULL argument indicates "use the default". This is a synonym for NULL, if you'd rather use a named constant."

libusb also handles it this way:
https://github.com/libusb/libusb/blob/dcd30cec9a633fb59a619f5bf5f5582d794c8dff/libusb/os/darwin_usb.c#L52

/* Both kIOMasterPortDefault or kIOMainPortDefault are synonyms for 0. */
static const mach_port_t darwin_default_master_port = 0;

Tested by building SmuView on macOS 13 with a deployment target of 10.13, verified the segfault is fixed when running on a 10.13 system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant