{"action":"opened","issue":{"url":"https://api.github.com/repos/SimonAlfie/fabricate/issues/91","repository_url":"https://api.github.com/repos/SimonAlfie/fabricate","labels_url":"https://api.github.com/repos/SimonAlfie/fabricate/issues/91/labels{/name}","comments_url":"https://api.github.com/repos/SimonAlfie/fabricate/issues/91/comments","events_url":"https://api.github.com/repos/SimonAlfie/fabricate/issues/91/events","html_url":"https://github.com/SimonAlfie/fabricate/issues/91","id":333030588,"node_id":"MDU6SXNzdWUzMzMwMzA1ODg=","number":91,"title":"openat syscall missing from strace runner, breaks dependency tracking for relatively recent gcc.","user":{"login":"stevenj","id":764829,"node_id":"MDQ6VXNlcjc2NDgyOQ==","avatar_url":"https://avatars3.githubusercontent.com/u/764829?v=4","gravatar_id":"","url":"https://api.github.com/users/stevenj","html_url":"https://github.com/stevenj","followers_url":"https://api.github.com/users/stevenj/followers","following_url":"https://api.github.com/users/stevenj/following{/other_user}","gists_url":"https://api.github.com/users/stevenj/gists{/gist_id}","starred_url":"https://api.github.com/users/stevenj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevenj/subscriptions","organizations_url":"https://api.github.com/users/stevenj/orgs","repos_url":"https://api.github.com/users/stevenj/repos","events_url":"https://api.github.com/users/stevenj/events{/privacy}","received_events_url":"https://api.github.com/users/stevenj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-06-17T02:49:23Z","updated_at":"2018-06-17T02:49:23Z","closed_at":null,"author_association":"NONE","body":"I am using fabricate for an embedded system build using the ARM GCC compiler:\r\n/gcc-arm-none-eabi-7-2017-q4-major\r\n\r\nI am not getting any header files in the dependency list using the strace runner.  The reason is because gcc is (now?) using the syscall [openat](https://linux.die.net/man/2/openat) and fabricate doesn't know about it.\r\n\r\nfor example, running strace directly on a file that isn't getting it's includes found as dependencies and grepping on one of the known headers gives:\r\n\r\n```\r\nstrace -f /opt/arm/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc -Wall -mcpu=cortex-m0plus -mtune=cortex-m0plus -mthumb -fstrict-volatile-bitfields -ffunction-sections -fdata-sections -O3 -std=gnu11 -D__SAMD21J18A__ -Wa,-ahls=build/optimized/speed/ARM/SAMD21J18A/OvenACE/piezo_buzzer.lst -I OvenACE -I OvenACE/usb -I OvenACE/usb/class/vendor -I OvenACE/usb/class/cdc -I OvenACE/usb/class/cdc/device -I OvenACE/usb/class/hub -I OvenACE/usb/class/msc -I OvenACE/usb/class/msc/device -I OvenACE/usb/class/composite/device -I OvenACE/usb/device -I OvenACE/samd21a/include -I OvenACE/samd21a/include/component -I OvenACE/samd21a/include/pio -I OvenACE/samd21a/include/instance -I OvenACE/config -I OvenACE/thirdparty/RTOS -I OvenACE/thirdparty/RTOS/freertos/FreeRTOSV10.0.0 -I OvenACE/thirdparty/RTOS/freertos/FreeRTOSV10.0.0/Source/include -I OvenACE/thirdparty/RTOS/freertos/FreeRTOSV10.0.0/Source/portable/GCC/ARM_CM0 -I OvenACE/hri -I OvenACE/hal/utils/include -I OvenACE/hal/include -I OvenACE/hpl/core -I OvenACE/hpl/pm -I OvenACE/hpl/port -I OvenACE/hpl/gclk -I OvenACE/CMSIS/Include -I OvenACE/examples -I OvenACE/ijg/example -I OvenACE/ijg/jpeg-9b -I OvenACE/dma_m2m -c OvenACE/piezo_buzzer.c -o build/optimized/speed/ARM/SAMD21J18A/OvenACE/piezo_buzzer.o 2>&1 | grep 'HWPinAssignments\\.h'\r\n[pid 24407] openat(AT_FDCWD, \"OvenACE/HWPinAssignments.h\", O_RDONLY|O_NOCTTY) = 4\r\n\r\n```"}}
{"actor":{"display_login":"stevenj"}}