Hi,

In case someone wants to do a better fix, I've put a
file already mangled by gcc5 cpp here:

https://fedorapeople.org/~jwrdegoede/sdksyms.pre

Regards,

Hans


On 11-02-15 16:39, Hans de Goede wrote:
gcc5's cpp inserts patterns like this:

extern
       __attribute__((visibility("default")))
                 int WaitForSomething(int *
     );

This patch make sdksyms.sh work with this. Note my awk skills are weak, so
there likely is a better way to deal with this.

Signed-off-by: Hans de Goede <[email protected]>
---
  hw/xfree86/sdksyms.sh | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)

diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index 2305073..99b0cae 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -350,6 +350,23 @@ BEGIN {
      if (sdk) {
        n = 3;

+       # detect the following gcc5 cpp pattern and skip it:
+       # extern
+       # # 320 "../../include/os.h" 3 4
+       #     __attribute__((visibility("default")))
+       # # 320 "../../include/os.h"
+       # Note in this case the "extern " or "extern void " always has
+       # a trailing space
+       if ($0 ~ "^extern.* $") {
+           getline;
+           getline;
+           getline;
+           getline;
+           n = 1;
+           while ($n == " ")
+               n++;
+       }
+
        # skip attribute, if any
        while ($n ~ /^(__attribute__|__global)/ ||
            # skip modifiers, if any

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to