Skip to content

gccgo, syscall: unknowndefine TUNSETIFF IOCTL const and others #11707

@laboger

Description

@laboger

This problem was reported in gccgo from gcc 5 (latest branch) when built on ppc64le because the IOCTL constant value TUNSETIFF is not defined in gccgo, but is available in gc from golang 1.5 in the generated files zerrors_linux_ppc64.go and zerrors_linu_ppc64le.go.

In the gccgo build, I can see that HAVE_LINUX_IF_TUN_H is defined, which allows the correct include file for these defines to be found, but mksysinfo.sh does not appear to handle them correctly. Instead the gen-sysinfo.go file contains:

// unknowndefine TUNSETIFF _IOW('T', 202, int)

for this define and all the other TUNSET* constants.

Possibly because it is a macro defined in terms of another macro and mksysinfo.sh doesn't handle that case?

This same problem occurred months ago with other IOCTL constants TIOCS* and the fix was to add some lines to mksysinfo.sh to enable them to be generated. I don't know if this is the same kind of problem and could be solved the same way.

The request would be to add all the TUNSET* constants to gccgo in the gcc5 branch if possible.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions