]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Merge commit 'a845651b' into thread-next
authorMaria Matejka <mq@ucw.cz>
Mon, 18 Jul 2022 08:19:59 +0000 (10:19 +0200)
committerMaria Matejka <mq@ucw.cz>
Mon, 18 Jul 2022 08:19:59 +0000 (10:19 +0200)
1  2 
.gitlab-ci.yml
bird-gdb.py
lib/birdlib.h
lib/lists.c

diff --cc .gitlab-ci.yml
index 7809fecd44d88e5e79cbb7582f589850ad727e40,392020985dd811b937649c87b28fcd6f50c5f83f..0a758cff48a3ca8b64470929fdf293845084b79a
@@@ -310,23 -300,15 +300,15 @@@ build-fedora-33-amd64
  
  build-fedora-34-amd64:
    <<: *build-linux
 -  image: registry.labs.nic.cz/labs/bird:fedora-33-amd64
 +  image: registry.nic.cz/labs/bird:fedora-33-amd64
  
- build-centos-7-amd64:
-   <<: *build-linux
-   image: registry.nic.cz/labs/bird:centos-7-amd64
  build-centos-8-amd64:
    <<: *build-linux
 -  image: registry.labs.nic.cz/labs/bird:centos-8-amd64
 +  image: registry.nic.cz/labs/bird:centos-8-amd64
  
- build-ubuntu-14_04-amd64:
-   <<: *build-linux
-   image: registry.nic.cz/labs/bird:ubuntu-14.04-amd64
  build-ubuntu-16_04-amd64:
    <<: *build-linux
 -  image: registry.labs.nic.cz/labs/bird:ubuntu-16.04-amd64
 +  image: registry.nic.cz/labs/bird:ubuntu-16.04-amd64
  
  build-ubuntu-18_04-amd64:
    <<: *build-linux
diff --cc bird-gdb.py
Simple merge
diff --cc lib/birdlib.h
index 25545fc37cc08620ab981981e99da74d768c4c75,2e642d384d72f075f309aa34f46f3552b17cd508..bdf69309a9c38fd6d98fad51842c934994e0ed63
  
  /* Ugly structure offset handling macros */
  
 -struct align_probe { char x; long int y; };
 -
  #define OFFSETOF(s, i) ((size_t) &((s *)0)->i)
- #define SKIP_BACK(s, i, p) ((s *)((char *)p - OFFSETOF(s, i)))
+ #define SKIP_BACK(s, i, p) ({ s *_ptr = ((s *)((char *)p - OFFSETOF(s, i))); ASSERT_DIE(&_ptr->i == p); _ptr; })
  #define BIRD_ALIGN(s, a) (((s)+a-1)&~(a-1))
 -#define CPU_STRUCT_ALIGN (sizeof(struct align_probe))
 +#define CPU_STRUCT_ALIGN  (MAX_(_Alignof(void*), _Alignof(u64)))
 +#define BIRD_CPU_ALIGN(s) BIRD_ALIGN((s), CPU_STRUCT_ALIGN)
 +
 +/* Structure item alignment macros */
 +
 +#define PADDING_NAME(id)      _padding_##id
 +#define PADDING_(id, sz)      u8 PADDING_NAME(id)[sz]
 +
 +#if CPU_POINTER_ALIGNMENT == 4
 +#define PADDING(id, n32, n64) PADDING_(id, n32)
 +#elif CPU_POINTER_ALIGNMENT == 8
 +#define PADDING(id, n32, n64) PADDING_(id, n64)
 +#else
 +#error "Strange CPU pointer alignment: " CPU_POINTER_ALIGNMENT
 +#endif
  
  /* Utility macros */
  
diff --cc lib/lists.c
Simple merge