acpi-build: fix build on glib < 2.14
g_array_get_element_size was only added in glib 2.14. Fortunately we don't use it for any arrays where element size is > 1, so just add an assert. Reported-by: Richard Henderson <rth@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1385036128-8753-2-git-send-email-mst@redhat.com Signed-off-by: Anthony Liguori <aliguori@amazon.com>
This commit is contained in:
		
							parent
							
								
									542da88f00
								
							
						
					
					
						commit
						b15654c21a
					
				@ -425,7 +425,10 @@ static inline void *acpi_data_push(GArray *table_data, unsigned size)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static unsigned acpi_data_len(GArray *table)
 | 
					static unsigned acpi_data_len(GArray *table)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return table->len * g_array_get_element_size(table);
 | 
					#if GLIB_CHECK_VERSION(2, 14, 0)
 | 
				
			||||||
 | 
					    assert(g_array_get_element_size(table) == 1);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					    return table->len;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void acpi_align_size(GArray *blob, unsigned align)
 | 
					static void acpi_align_size(GArray *blob, unsigned align)
 | 
				
			||||||
 | 
				
			|||||||
@ -90,7 +90,7 @@ enum {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
GArray *bios_linker_loader_init(void)
 | 
					GArray *bios_linker_loader_init(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return g_array_new(false, true /* clear */, sizeof(BiosLinkerLoaderEntry));
 | 
					    return g_array_new(false, true /* clear */, 1);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Free linker wrapper and return the linker array. */
 | 
					/* Free linker wrapper and return the linker array. */
 | 
				
			||||||
@ -115,7 +115,7 @@ void bios_linker_loader_alloc(GArray *linker,
 | 
				
			|||||||
                                    BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH);
 | 
					                                    BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Alloc entries must come first, so prepend them */
 | 
					    /* Alloc entries must come first, so prepend them */
 | 
				
			||||||
    g_array_prepend_val(linker, entry);
 | 
					    g_array_prepend_vals(linker, &entry, sizeof entry);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void bios_linker_loader_add_checksum(GArray *linker, const char *file,
 | 
					void bios_linker_loader_add_checksum(GArray *linker, const char *file,
 | 
				
			||||||
@ -132,7 +132,7 @@ void bios_linker_loader_add_checksum(GArray *linker, const char *file,
 | 
				
			|||||||
    entry.cksum.start = cpu_to_le32((uint8_t *)start - (uint8_t *)table);
 | 
					    entry.cksum.start = cpu_to_le32((uint8_t *)start - (uint8_t *)table);
 | 
				
			||||||
    entry.cksum.length = cpu_to_le32(size);
 | 
					    entry.cksum.length = cpu_to_le32(size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    g_array_append_val(linker, entry);
 | 
					    g_array_append_vals(linker, &entry, sizeof entry);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void bios_linker_loader_add_pointer(GArray *linker,
 | 
					void bios_linker_loader_add_pointer(GArray *linker,
 | 
				
			||||||
@ -154,5 +154,5 @@ void bios_linker_loader_add_pointer(GArray *linker,
 | 
				
			|||||||
    assert(pointer_size == 1 || pointer_size == 2 ||
 | 
					    assert(pointer_size == 1 || pointer_size == 2 ||
 | 
				
			||||||
           pointer_size == 4 || pointer_size == 8);
 | 
					           pointer_size == 4 || pointer_size == 8);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    g_array_append_val(linker, entry);
 | 
					    g_array_append_vals(linker, &entry, sizeof entry);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user