Mailinglist Archive: opensuse-commit (1194 mails)
| < Previous | Next > |
commit hal
- From: root@xxxxxxxxxxxxxxx (h_root)
- Date: Thu, 27 Mar 2008 22:07:40 +0100
- Message-id: <20080327210740.7FF18678182@xxxxxxxxxxxxxxx>
Hello community,
here is the log from the commit of package hal
checked in at Thu Mar 27 22:07:40 CET 2008.
--------
--- hal/hal.changes 2008-03-20 15:56:34.000000000 +0100
+++ /mounts/work_src_done/STABLE/hal/hal.changes 2008-03-27
15:49:04.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Mar 27 15:48:53 CET 2008 - schwab@xxxxxxx
+
+- Fix more alignment bugs.
+
+-------------------------------------------------------------------
hal-doc.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hal-doc.spec ++++++
--- /var/tmp/diff_new_pack.D28114/_old 2008-03-27 22:04:48.000000000 +0100
+++ /var/tmp/diff_new_pack.D28114/_new 2008-03-27 22:04:48.000000000 +0100
@@ -21,7 +21,7 @@
%define dbus_release 1
%define hal_info_version 20080319
Version: 0.5.10_git20080319
-Release: 1
+Release: 5
Url: http://freedesktop.org/Software/hal
License: Other uncritical OpenSource License
Group: System/Daemons
@@ -357,6 +357,8 @@
%endif
%changelog
+* Thu Mar 27 2008 schwab@xxxxxxx
+- Fix more alignment bugs.
* Thu Mar 20 2008 schwab@xxxxxxx
- Fix broken alignment.
* Wed Mar 19 2008 dkukawka@xxxxxxx
++++++ hal.spec ++++++
--- /var/tmp/diff_new_pack.D28114/_old 2008-03-27 22:04:49.000000000 +0100
+++ /var/tmp/diff_new_pack.D28114/_new 2008-03-27 22:04:49.000000000 +0100
@@ -21,7 +21,7 @@
%define dbus_release 1
%define hal_info_version 20080319
Version: 0.5.10_git20080319
-Release: 1
+Release: 5
Url: http://freedesktop.org/Software/hal
License: GPL v2 or later; AFL
Group: System/Daemons
@@ -91,15 +91,14 @@
#
%description
-HAL is a hardware abstraction layer and aims to provide a live list
-ofdevices present in the system at any point in time. HAL tries to
+HAL is a hardware abstraction layer and aims to provide a live list of
+devices present in the system at any point in time. HAL tries to
understand both, physical devices (such as PCI and USB) and the device
classes (such as input, net, and block) physical devices have. Besides
it allows merging of information from device info files specific to a
-device. HAL provides a network API through D-BUS for querying devices
-and notifying when things change. Finally, HAL provides some monitoring
-(in an unintrusive way) of devices. Presently, ethernet link detection
-and volume mounts aremonitored. For further information, please refer
+device. HAL provides a API through D-BUS for querying devices and
+notifying when things change. Finally, HAL provides some monitoring (in
+an unintrusive way) of devices. For further information, please refer
to the HAL specification.
@@ -357,6 +356,8 @@
%endif
%changelog
+* Thu Mar 27 2008 schwab@xxxxxxx
+- Fix more alignment bugs.
* Thu Mar 20 2008 schwab@xxxxxxx
- Fix broken alignment.
* Wed Mar 19 2008 dkukawka@xxxxxxx
++++++ hal-misalignment.diff ++++++
--- /var/tmp/diff_new_pack.D28114/_old 2008-03-27 22:04:49.000000000 +0100
+++ /var/tmp/diff_new_pack.D28114/_new 2008-03-27 22:04:49.000000000 +0100
@@ -1,56 +1,81 @@
--- hald/create_cache.c
+++ hald/create_cache.c
-@@ -172,12 +172,12 @@ get_merge_type (const char *str)
+@@ -172,7 +172,9 @@ get_merge_type (const char *str)
return MERGE_UNKNOWN;
}
-#define ROUND32(len) ((len + 3) & ~0x03)
+#define ROUND(len,align) ((len + align - 1) & -align)
++#define ROUND32(len) ROUND(len, 4)
++#define RULES_ROUND(off) ROUND(off, __alignof__(struct rule))
static void pad32_write(int fd, off_t offset, void *data, size_t len)
{
- ssize_t result;
-- static char pad[3] = {0, 0, 0};
-+ static char pad[3];
-
- lseek(fd, offset, SEEK_SET);
- result = write(fd, data, len);
-@@ -235,7 +235,7 @@ static void store_value(struct fdi_conte
-
- if ((value_len == 0) || (value == NULL) || (*value == '\0')) return;
-
-- offset = fdi_ctx->position + sizeof(struct rule) +
ROUND32(fdi_ctx->rule.key_len);
-+ offset = fdi_ctx->position + sizeof(struct rule) +
ROUND(fdi_ctx->rule.key_len, 4);
-
- if (fdi_ctx->rule.value_len == 0) {
- fdi_ctx->rule.value_offset = offset;
-@@ -270,8 +270,8 @@ static void store_rule(struct fdi_contex
+@@ -269,9 +271,10 @@ static void store_rule(struct fdi_contex
+ if (fdi_ctx->rule.rtype == RULE_UNKNOWN)
DIE(("I refuse to store garbage"));
- fdi_ctx->rule.rule_size = sizeof(struct rule) +
+- fdi_ctx->rule.rule_size = sizeof(struct rule) +
- ROUND32(fdi_ctx->rule.key_len) +
- ROUND32(fdi_ctx->rule.value_len);
-+ ROUND(fdi_ctx->rule.key_len, 4) +
-+ ROUND(fdi_ctx->rule.value_len, 4);
++ fdi_ctx->rule.rule_size =
++ RULES_ROUND(sizeof(struct rule) +
++ ROUND32(fdi_ctx->rule.key_len) +
++ ROUND32(fdi_ctx->rule.value_len));
pad32_write(fdi_ctx->cache_fd, fdi_ctx->position,
&fdi_ctx->rule, sizeof(struct rule));
-@@ -331,7 +331,7 @@ start (void *data, const char *el, const
+@@ -307,7 +310,7 @@ static void set_jump_position(struct fdi
+ DIE(("Rule depth underrun"));
+
+ fdi_ctx->depth--;
+- offset = lseek(fdi_ctx->cache_fd, 0, SEEK_END);
++ offset = RULES_ROUND(lseek(fdi_ctx->cache_fd, 0, SEEK_END));
+ pad32_write(fdi_ctx->cache_fd,
+ fdi_ctx->match_at_depth[fdi_ctx->depth] + offsetof(struct rule,
jump_position),
+ &offset, sizeof(fdi_ctx->rule.jump_position));
+@@ -331,7 +334,7 @@ start (void *data, const char *el, const
init_rule_struct(&fdi_ctx->rule);
fdi_ctx->rule.rtype = get_rule_type(el);
- fdi_ctx->position = lseek(fdi_ctx->cache_fd, 0, SEEK_END);
-+ fdi_ctx->position = ROUND(lseek(fdi_ctx->cache_fd, 0, SEEK_END),
__alignof__(struct rule));
++ fdi_ctx->position = RULES_ROUND(lseek(fdi_ctx->cache_fd, 0, SEEK_END));
if (fdi_ctx->rule.rtype == RULE_UNKNOWN) return;
/* get key and attribute for current rule */
-@@ -515,7 +515,8 @@ rules_add_fdi_file (const char *filename
+@@ -515,7 +518,7 @@ rules_add_fdi_file (const char *filename
/* insert last dummy rule into list */
init_rule_struct(&fdi_ctx->rule);
fdi_ctx->rule.rtype = RULE_EOF;
- fdi_ctx->position = lseek(fdi_ctx->cache_fd, 0, SEEK_END);
-+ fdi_ctx->position = ROUND(lseek(fdi_ctx->cache_fd, 0, SEEK_END),
-+ __alignof__(struct rule));
++ fdi_ctx->position = RULES_ROUND(lseek(fdi_ctx->cache_fd, 0, SEEK_END));
store_key(fdi_ctx, filename);
store_value(fdi_ctx, "", 0);
store_rule(fdi_ctx);
+@@ -637,7 +640,7 @@ di_rules_init (void)
+ memset(&header, 0, sizeof(struct cache_header));
+ pad32_write(fd, 0, &header, sizeof(struct cache_header));
+
+- header.fdi_rules_preprobe = lseek(fd, 0, SEEK_END);
++ header.fdi_rules_preprobe = RULES_ROUND(lseek(fd, 0, SEEK_END));
+ if (hal_fdi_source_preprobe != NULL) {
+ if ((n = rules_search_and_add_fdi_files
(hal_fdi_source_preprobe, fd)) == -1)
+ goto error;
+@@ -651,7 +654,7 @@ di_rules_init (void)
+ num_skipped_fdi_files += n;
+ }
+
+- header.fdi_rules_information = lseek(fd, 0, SEEK_END);
++ header.fdi_rules_information = RULES_ROUND(lseek(fd, 0, SEEK_END));
+ if (hal_fdi_source_information != NULL) {
+ if ((n = rules_search_and_add_fdi_files
(hal_fdi_source_information, fd)) == -1)
+ goto error;
+@@ -665,7 +668,7 @@ di_rules_init (void)
+ num_skipped_fdi_files += n;
+ }
+
+- header.fdi_rules_policy = lseek(fd, 0, SEEK_END);
++ header.fdi_rules_policy = RULES_ROUND(lseek(fd, 0, SEEK_END));
+ if (hal_fdi_source_policy != NULL) {
+ if ((n = rules_search_and_add_fdi_files (hal_fdi_source_policy,
fd)) == -1)
+ goto error;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx
| < Previous | Next > |